Извините, если это не проблема, а скорее я! Я получаю следующую ошибку, когда запускаю эту команду:
./flow --model cfg/tiny-yolo.cfg --load bin/yolo-tiny.weights
/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolo-tiny.cfg не найден, используйте вместо него cfg/tiny-yolo.cfg
cfg_path, FLAGS.model))
Разбор cfg/tiny-yolo.cfg
Загрузка bin/yolo-tiny.weights ...
Traceback (последний последний вызов):
Файл "./flow", строка 45, в
tfnet = TFNet(ФЛАГИ)
Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/net/build.py", строка 55, в __init__
даркнет = даркнет (флаги)
Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", строка 27, в __init__
self.load_weights()
Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", строка 82, в load_weights
wgts_loader = loader.create_loader( аргументы)Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", строка 105, в create_loaderвернуть load_type (путь, cfg)Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", строка 19, в __init__self.load ( аргументы)
Файл "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", строка 77, загружается
ходок.смещение, ходок.размер)
AssertionError: ожидать 64701556 байт, найдено 180357512
Кроме того, поскольку я новичок в машинном обучении, не могли бы вы указать мне какую-нибудь хорошую статью о том, как создать новый файл cfg и как сгенерировать файл веса с нуля, я не могу найти это в Интернете!
Кажется, существует несоответствие между вашим файлом .cfg и файлом .weigths. Попробуйте загрузить разные веса или другую конфигурацию.
Попробуй это:
./flow --model ./cfg/tiny-yolo-voc.cfg --load ./bin/tiny-yolo-voc.weights ...
Спасибо, ребята, я попробую ваше предложение в конце этой недели - я дам вам знать, как оно идет.
Кажется, существует много путаницы в отношении соответствия между файлами .cfg
и .weights
всякий раз, когда даркнет обновляет новые конфиги и отбрасывает старые, а также их двоичные файлы .weights
. Известные мне стабильные конфигурации используют .cfg
в этом репозитории и .weights
загруженные на диск Google (см. README).
@thtrieu , по приведенной ниже ссылке нажмите здесь [google drive], куда вы загрузили веса, я не могу получить соответствующий файл .cfg для yolo-tiny.weights. Тот, что есть в cfg/tiny-yolo.cfg, с этим не работает. Я получаю ту же ошибку, что упоминалась в этой теме.
Был бы признателен за вашу помощь!
Спасибо!
У меня такая же ошибка, кто-нибудь решил??
Спасибо!
я решил!!!
Скачайте отсюда файл .cfg и .weights!!!
У меня тоже такая же ошибка, кто-нибудь решил??
Да, я решил это, вы должны скачать отсюда файл .cfg и .weights!!!
Измените файл .cfg в папке cfg.
У меня все еще есть ошибка. Скачал файлы для крошечного йоло (как cfg, так и веса), изменил конфигурацию для работы с 3 классами и добавил имена классов в labels.txt
. Я получаю сообщение об ошибке AssertionError: Over-read ./tiny-yolo.weights
. Как мне обойти это? Заранее спасибо!
обратите внимание, я использовал cocos.name для заполнения label.txt
@goodhamgupta см. этот выпуск #80
Проблема все еще существует. К сожалению, модель и вес не подходят друг другу. Пробовал скачать с сайта https://pjreddie.com/darknet/yolo/ Tiny YOLO
на основе COCO trainval
.
Предложенное решение от @evgkarasev - выбрать другую модель и вес на основе VOC 2007+2012
действительно работает для меня.
Я тоже столкнулся с этой «AssertionError». Насколько я понимаю, это происходит, когда вы меняете файл cfg (т.е. номер класса) и используете веса, которые были созданы для исходного файла cfg. Вот почему вы получаете разные биты при запуске потока.
Ошибка, которую я совершал, заключалась в том, что я переписал исходный файл cfg с моими новыми классами и номерами фильтров. В темном потоке, прочитав меня, упоминается: «Очень важно, чтобы вы оставили исходный файл tiny-yolo-voc.cfg».
Итак, что я сделал, так как я работал с классом 2, я скопировал файл tiny-yolo-voc.cfg и переименовал его в tiny-yolo-voc-2c.cfg и внес изменения в класс и фильтр в этой новой копии. Затем, когда я начал тренироваться с потоком, я сослался на копию после --model, и это сработало для меня.
Когда он начинает тренироваться, я замечаю, что при разборе он ссылается на оба файла cfg.
Надеюсь это поможет.
@mkuko Можешь сказать команду
@deepkshikha
Конечно,
flow --model cfg/tiny-yolo-voc-2c.cfg --load bin/tiny-yolo-voc.weights --train --annotation (путь к папке с моими аннотациями) --dateset (путь к папке с моими изображениями)
Я запускаю эту команду как с tiny-yolo-voc.cfg (исходный файл), так и с tiny-yolo-voc-2c.cfg в папке cfg.
@mkuko Спасибо
Я следовал инструкции, оставил файл cfg без изменений и создал новый cfg, изменив номер класса и номер фильтра, который все еще не работает для меня. Вы что-то еще делали??
@deepkshikha
Я не верю, что сделал что-то еще, чтобы решить эту проблему.
Может быть, я или кто-то еще здесь может помочь, можете ли вы опубликовать команду, которую вы вводите, и ошибку, которую вы получаете?
@thtrieu, согласно вашему предложению, я соединил веса, упомянутые на диске, с соответствующими файлами .cfg в репозитории, но получаю AssertionError: ожидать 64701556 байт, найдено 180357512. До этого я пробовал (свеже загруженные/обновленные) веса и .cfg пары с официального сайта, но я столкнулся с той же ошибкой.
Я использовал базовую команду потока, без изменений в файле .cfg или label.txt.
Есть ли в мире какая-нибудь пара веса-cfg, которая все еще работает...???
Привет, @conjuringjha , у меня была такая же проблема, но я решил ее, просто вычитая найденное значение (в вашем случае 180357512) из ожидаемого значения (в вашем случае 64701556). Предположим, что результатом является «X».
Теперь откройте ваш файл ./darkflow/utils/loader.py и найдите строку 121. Затем вы увидите переменную «self.offset» с определенным присвоенным значением (16 или 20). Предположим, что это значение равно "Y".
Обновите значение self.offset=Y+X
Я надеюсь, что это поможет вам !
Привет;
Предложение @ThierryBayala решило мою проблему; Большое Вам спасибо.
я имел:
AssertionError: ожидать 63102556 байт, найдено 63471556
я сделал 63471556-63102556=369000
затем я изменил строку 121 на: self.offset=Y+369000
@ThierryBayala Большое спасибо. Это решило и мою проблему.
Привет,
Я установил Darkflow глобально и понятия не имею, где я могу найти «./darkflow/utils/loader.py».
в то же время я не могу найти такую папку в недавнем клоне "darkflow".
Я знаю, что проблема в том, что файл cfg и вес не совпадают, потому что, попробовав несколько CFG и WEIGHT, я нашел правильное соответствие.
НО НО интересно как? в то время как CFG и вес, которые я использовал в первую очередь, были взяты из https://pjreddie.com/darknet/, которые они предоставили изначально.
Тогда в чем проблема?!
@ТьерриБаяла
@ХДОУДИ
@ambr89
@ Ata1362 Ata1362 Я где-то читал, что веса на pjreddie.com постоянно тренируются, что приводит к несоответствию с файлами CFG.
Спасибо,
Итак, как мы можем найти несоответствие между файлом CFG и Weights и исправить его?
Мы не можем ждать, пока кто-то случайно или после сопоставления многих CFG,
находит нужный и делится с нами.
В воскресенье, 12 мая 2019 г., в 20:46 Мэтт П[email protected] написал:
@Ata1362 https://github.com/Ata1362 Я где-то читал, что веса
на pjreddie.com постоянно обучаются, что приводит к несоответствию
с файлами CFG.—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/thtrieu/darkflow/issues/223#issuecomment-491592661 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AKAIFQNP5URQYAO6FDLY2FTPVAGTPANCNFSM4DLF6APQ
.
@ Ata1362 Я использовал tiny-yolo-voc с его веб-сайта, который правильно работал с tiny-yolo-voc, который он разместил здесь: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU.
Привет, @conjuringjha , у меня была такая же проблема, но я решил ее, просто вычитая найденное значение (в вашем случае 180357512) из ожидаемого значения (в вашем случае 64701556). Предположим, что результатом является «X».
Теперь откройте ваш файл ./darkflow/utils/loader.py и найдите строку 121. Затем вы увидите переменную «self.offset» с определенным присвоенным значением (16 или 20). Предположим, что это значение равно "Y".
Обновите значение self.offset=Y+XЯ надеюсь, что это поможет вам !
У меня тоже работает!!!!!!!!!!
Спасибо @ThierryBayala ,
Это работает и для меня.
Самый полезный комментарий
Привет, @conjuringjha , у меня была такая же проблема, но я решил ее, просто вычитая найденное значение (в вашем случае 180357512) из ожидаемого значения (в вашем случае 64701556). Предположим, что результатом является «X».
Теперь откройте ваш файл ./darkflow/utils/loader.py и найдите строку 121. Затем вы увидите переменную «self.offset» с определенным присвоенным значением (16 или 20). Предположим, что это значение равно "Y".
Обновите значение self.offset=Y+X
Я надеюсь, что это поможет вам !