Невозможно преобразовать веса / cfg в модель pb
./flow --model tiny-yolo-voc-original.cfg --load tiny-yolo-voc.weights --savepb
...
AssertionError: labels.txt and tiny-yolo-voc-original.cfg indicate inconsistent class numbers
это https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/DetectorActivity.java#L69
тоже не работает:
./flow --model tiny-yolo-voc-original.cfg --load tiny-yolo-voc.weights --savepb --verbalise=True
ERROR - Invalid argument: --verbalise=True
Что касается вашей первой проблемы, когда darkflow видит одно из имен .cfg
по умолчанию, он загружает метки из своего собственного массива (или внешнего файла в случае набора данных COCO), то есть когда он видит распознанный .cfg
игнорирует то, что установлено в labels.txt
. Вы можете увидеть , что общепризнанные .cfg
имена здесь . В вашем случае вы используете нераспознанное .cfg
name tiny-yolo-voc-original.cfg
которого нет в этом массиве. Таким образом, darkflow попытается загрузить метки из labels.txt
и в вашем случае найдет неправильное количество меток. Если вы пытаетесь загрузить метки VOC, либо переименуйте файл .cfg
в tiny-yolo-voc.cfg
чтобы он распознавался и darkflow автоматически загружался из меток VOC, либо вручную скопируйте метки VOC в labels.txt
.
Что касается вашей второй проблемы, я написал собственный обработчик CLI для darkflow, и присвоение значений с помощью =
в настоящее время не поддерживается. Чтобы установить для --verbalise
значение true, просто используйте --verbalise
самостоятельно или используйте --verbalise true
.
Понятно. Я также попытался преобразовать свой собственный обученный крошечный йоло с 1 классом, и у меня не получилось (даже если я отредактировал label.txt и поставил только одно имя), потому что, как вы сказали, если cfg назван как tiny-yolo-voc.cfg
тогда поиск darkflow из собственного массива. Я переименовал его во что-то другое, и это сработало.
Спасибо!
Здравствуйте, я сейчас тренирую один класс, но загрузка файла yolo-small.weights не загружается во время тренировки.
это моя команда: yolo-me-small.cfg --load bin / yolo-small.weights --train --annotation CAR / Annotations --dataset CAR / JPEGImages
ошибка:
Разбор ./cfg/yolo-qr-small.cfg
Разбор cfg / yolo-qr-small.cfg
Загрузка bin / yolo-qr-small.weights ...
Отслеживание (последний вызов последний):
Файл "./flow", строка 6, в
cliHandler (sys.argv)
Файл "/home/xwlab/darkflow/darkflow/cli.py", строка 22, в cliHandler
tfnet = TFNet (ФЛАГИ)
Файл "/home/xwlab/darkflow/darkflow/net/build.py", строка 58, в __init__
darknet = даркнет (ФЛАГИ)
Файл "/home/xwlab/darkflow/darkflow/dark/darknet.py", строка 27, в __init__
self.load_weights ()
Файл "/home/xwlab/darkflow/darkflow/dark/darknet.py", строка 82, в load_weights
wgts_loader = loader.create_loader ( аргументы)Файл "/home/xwlab/darkflow/darkflow/utils/loader.py", строка 105, в create_loaderreturn load_type (путь, cfg)Файл "/home/xwlab/darkflow/darkflow/utils/loader.py", строка 19, в __init__self.load ( аргументы)
Файл "/home/xwlab/darkflow/darkflow/utils/loader.py", строка 77, загружается
walker.offset, walker.size)
AssertionError: ожидается 360624512 байт, найдено 375881736
Моя проблема заключалась в удалении конечной структурной строки в файле labels.txt
. Новая пустая строка засчитывалась как дополнительный класс.
Я использовал 7 классов cfg файла с 60 фильтрами. Этикетки
label.txt
.txt файл также содержит 7 классов, но даже при наличии следующей ошибки:
AssertionError: label.txt и cfg / tiny-yolo-voice-7c.cfg указывают на несовместимые номера классов.
Самый полезный комментарий
Что касается вашей первой проблемы, когда darkflow видит одно из имен
.cfg
по умолчанию, он загружает метки из своего собственного массива (или внешнего файла в случае набора данных COCO), то есть когда он видит распознанный.cfg
игнорирует то, что установлено вlabels.txt
. Вы можете увидеть , что общепризнанные.cfg
имена здесь . В вашем случае вы используете нераспознанное.cfg
nametiny-yolo-voc-original.cfg
которого нет в этом массиве. Таким образом, darkflow попытается загрузить метки изlabels.txt
и в вашем случае найдет неправильное количество меток. Если вы пытаетесь загрузить метки VOC, либо переименуйте файл.cfg
вtiny-yolo-voc.cfg
чтобы он распознавался и darkflow автоматически загружался из меток VOC, либо вручную скопируйте метки VOC вlabels.txt
.Что касается вашей второй проблемы, я написал собственный обработчик CLI для darkflow, и присвоение значений с помощью
=
в настоящее время не поддерживается. Чтобы установить для--verbalise
значение true, просто используйте--verbalise
самостоятельно или используйте--verbalise true
.