Darkflow: AssertionError: ожидать 64701556 байт, найдено 180357512

Созданный на 12 мая 2017  ·  27Комментарии  ·  Источник: thtrieu/darkflow

Извините, если это не проблема, а скорее я! Я получаю следующую ошибку, когда запускаю эту команду:
./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 и как сгенерировать файл веса с нуля, я не могу найти это в Интернете!

Самый полезный комментарий

Привет, @conjuringjha , у меня была такая же проблема, но я решил ее, просто вычитая найденное значение (в вашем случае 180357512) из ​​ожидаемого значения (в вашем случае 64701556). Предположим, что результатом является «X».
Теперь откройте ваш файл ./darkflow/utils/loader.py и найдите строку 121. Затем вы увидите переменную «self.offset» с определенным присвоенным значением (16 или 20). Предположим, что это значение равно "Y".
Обновите значение self.offset=Y+X

Я надеюсь, что это поможет вам !

Все 27 Комментарий

Кажется, существует несоответствие между вашим файлом .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 ,

Это работает и для меня.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги