Darkflow: Ошибка утверждения: перечитано yolo.weights

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

Я попытался запустить ./flow --test test/ --model cfg/yolo.cfg --load yolo.weights --gpu 1.0

Я получаю загрузку yolo.weights .... и затем ошибка утверждения: Over-read yolo.weights.

Однако, когда я запускаю ту же команду с tiny-yolo.cfg и tiny-yolo.weights, она работает. Я скачал файл весов с https://pjreddie.com/darknet/yolo/

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

@Dhruv-Mohan @kinhunt смотрите обновленный README, я загрузил некоторые файлы весов.

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

Я думаю, вы использовали неправильные веса, они не совпадали с cfg. я пробовал с yolo.cfg и yolo.weights, все работало нормально.
однако, когда я тренирую yolo-voc.cfg с пользовательским классом, я получаю то же сообщение об ошибке с моими обученными весами. Я был бы признателен, если бы кто-нибудь мог объяснить, что означает эта ошибка.

Парсер .weights следует за .cfg слой за слоем, считывая соответствующий фрагмент байтов из .weights , но затем остается еще слой для чтения, когда анализатор уже достиг конца .weights ; то есть когда у вас есть ошибка утверждения.

Пожалуйста, дайте команду, которая приводит к этой ошибке. Если вы хотите настроить свой класс, то есть несколько мест для внесения изменений:

  1. Количество фильтров в последнем слое conv в .cfg
  2. class число в слое region
  3. labels.txt

Затем запустите

./flow --model cfg/model.cfg --load bin/model.weights --train

Попробуйте обучить свою сеть с нуля, последние веса https://pjreddie.com/darknet/yolo/ , похоже, не совпадают с файлом cfg.
Я столкнулся с той же проблемой с yolo.weights и yolo-voc.weights, однако веса моей настраиваемой обученной сети работают просто отлично.

Не могли бы вы предоставить инструкции по обучению с использованием файла yolo.cfg. Спасибо

В среду, 29 марта 2017 г., в 12:20, Друв-Мохан, [email protected]
написал:

Попробуйте обучить свою сеть с нуля, последние веса
https://pjreddie.com/darknet/yolo/ не совпадают с файлом cfg.
Я столкнулся с той же проблемой с yolo.weights и yolo-voc.weights,
однако веса моей настраиваемой обученной сети работают просто отлично


Вы получаете это, потому что вы создали тему.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/thtrieu/darkflow/issues/107#issuecomment-289999490 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AZgJMHWUgCDnwlS_s1HY5RcBNrVSAWusks5rqf9CgaJpZM4Mrj84
.

та же проблема. используйте инструкцию readme с весами yolo.cfg и v2 http://pjreddie.com/media/files/yolo-voc.weights

@kinhunt yolo.cfg и yolo-voc.weights не совпадают. Даже новый yolo.weights не соответствует yolo.cfg , кажется, официальный сайт YOLO не хранит свои файлы надежно.

@thtrieu спасибо, что

@kinhunt я

Я могу загрузить свой. Подождите ~ 24 часа.

@thtrieu хорошие новости. Спасибо

@Dhruv-Mohan @kinhunt смотрите обновленный README, я загрузил некоторые файлы весов.

Понял. Спасибо. оно работает

@thtrieu, не могли бы вы предоставить шаги, которые вы выполнили, чтобы обучить набор данных кокоса для создания файла yolo.weights. Я хотел бы повторить то же самое и создать файл весов для yolov2 в наборе данных coco.

Привет @thtrieu ,
Я выполнил шаги, которые вы упомянули, чтобы переобучить модель с произвольным количеством классов.

[сверточный]
размер=1
шаг=1
колодка=1
фильтры=30
активация = линейная

[область]
якоря = 1,08,1,19, 3,42,4,41, 6,63,11,38, 9,42,5,11, 16,62,10,52
смещение_матча = 1
классы=1
координаты=4
число=5

У меня тоже всего одна метка в label.txt. Но когда я запускаю это с файлом крошечных весов, который я скачал из вашего ресурса Google [ https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU tiny-yolo-voc.weights], он терпит неудачу с ошибкой утверждения

AssertionError: ожидать 63082056 байт, найдено 63471556

Можете ли вы помочь мне понять, что здесь может быть не так.

У меня была аналогичная проблема с ранее настроенным весом из даркнета, я скопировал тот же файл .cfg с весом, чтобы попробовать его в даркфлоу и получил:
AssertionError: expect 202314760 bytes, found 202314764
Он отличается только на 4 байта, так что я пропустил некоторые настройки?

@ deng1028 ты уже решил свою проблему? У меня точно такая же проблема.

@helloGitHub1993 ты уже решил свою проблему? У меня точно такая же проблема.

@helloGitHub1993 перейдите в loader.py в папке utils, затем измените self.offset = 20 в строке 121.

@beerboaa я использовал другой способ. flow -model cfg/yolo-new.cfg (замените его тренировочным cfg) --load -1 --imgdir yourimgdir. Это работает для меня, и вы можете попробовать. Кстати, вам не нужно тренироваться снова.

@itsayush ты уже решил свою проблему? Я также выполнил те же шаги, что и вы, и у меня такая же проблема с обучением пользовательских данных (1 класс). Я попытался изменить self.offset = 1 в loader.py, но это не сработало.
Моя команда:
поток --train --model cfg/tiny-yolo-voc-1c.cfg --load bin/tiny-yolo-voc.weights --annotation train/Annotations/ --dataset train/Images/ --config cfg/ - -ГПУ 0.9
Но он хорошо работает с:
поток --imgdir sample_img/ --model cfg/tiny-yolo-voc.cfg --load bin/tiny-yolo-voc.weights --gpu 0.9
AssertionError: ожидаем 63471541 байт, найдено 63471556

Может кто-нибудь помочь мне?

У меня такая же проблема с использованием кода этого git https://github.com/bendidi/Tracking-with-darkflow с tiny-yolo

@гиперфрейз
image
У меня тоже такая же проблема, вы ее исправите?

столкнулся с той же проблемой. я пытался использовать веса с вашего диска Google с соответствующим .cfg, работал, пока я не попытался изменить количество классов на 1 (=> фильтры в последнем слое = 30). Есть ли еще возможность тренироваться на специальном количестве классов с предварительно обученной моделью?

У меня была та же проблема, когда я обучал Yolo своему собственному набору данных с веб-сайта pjreddie и пытался запустить полученный файл .weights с помощью darkflow. У меня была проблема «Ошибка утверждения: ожидать 268283952 байта, найдено 268283956». Как только я изменил self.offset = 20 в строке 121 в loader.py в папке utils, как сказал @beerboaa , все работает нормально. Спасибо.

@MartinBrisiak, где вы

неважно, у меня он работает в одной среде с yolo.weights от @thtrieu и yolo.cfg в этом репозитории
что-то не так с другой средой...

@helloGitHub1993 перейдите в loader.py в папке utils, затем измените self.offset = 20 в строке 121.

да, работает, большое спасибо

@beerboaa Спасибо, ман... сработало

Кажется, что файлы PJ Reddie не полностью совместимы, поэтому мне нужно загрузить готовые веса по предоставленной ссылке в README: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU.

Кажется, что файлы PJ Reddie не полностью совместимы, поэтому мне нужно загрузить готовые веса по предоставленной ссылке в README: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU.

где найти yolov2-voc.weights? отсутствует... есть идеи?

есть микс с 2-мя разными вопросами, первый если отличается от существующего файла веса и конфигурации ровно 4 байта в этом случае нужно изменить смещение в строке 121 на 20 (в моем случае работает с yolov2) во втором случае, если разница превышает 4 байта, это неправильный файл конфигурации для файла веса ИЛИ, если вы хотите обучить свои собственные объекты, убедитесь, что yolov2-voc.cfg существует в папке конфигурации, я прикрепляю тот, который разрешает проблема
cfg-yolov2-voc.zip

У меня была та же проблема, когда я обучал Yolo своему собственному набору данных с веб-сайта pjreddie и пытался запустить полученный файл .weights с помощью darkflow. У меня была проблема «Ошибка утверждения: ожидать 268283952 байта, найдено 268283956». Как только я изменил self.offset = 20 в строке 121 в loader.py в папке utils, как сказал @beerboaa , все работает нормально. Спасибо.

для меня это не работает, есть другие идеи? :(

Привет,
Наконец-то я смог заставить его работать, используя этот файл .cfg https://github.com/pjreddie/darknet/blob/master/cfg/yolov2.cfg.
и работает с весом "yolov2 608X608" отсюда: https://pjreddie.com/darknet/yolo/

Чтобы справиться с ошибкой

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

просто беги

$ cd /content/darkflow
$ !sed -i "s/self.offset = 16/self.offset = 20/g"  ./darkflow/utils/loader.py

Что касается ошибки утверждения, вероятно, это связано с несоответствием файла конфигурации и весов.

Итак, я нашел хак вокруг него. Используйте этот блокнот Золтана Сабо
Автор предоставляет демо только для 2 классов. Итак, его файл cfg имеет 2 класса и использует веса yolov2-tiny-voc-10000, найденные здесь .
Но реальная модель (v2-tiny) обучалась на 20 классах. Таким образом, чтобы сгенерировать файл pb для фактической модели, используйте фактический файл конфигурации модели, поддерживаемый pJreddie по адресу
https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov2-tiny-voc.cfg "

и замените исходный файл cfg на этот. Пусть веса остаются прежними.

Теперь последнее изменение, которое вы должны внести, касается текстового файла, содержащего имена классов. Для этого перейдите в файл имен классов, поддерживаемый pj reddie, и вставьте их в текстовый файл, присутствующий в /content/darkflow/labels.txt (в Google Collab).

Теперь просто запустите команду, которую вы запускали
!./flow --model cfg/yolo-v2-tiny.cfg --load weights/yolov2-tiny-voc_10000.weights --savepb

И вы должны получить нужный файл protobuf :yum:

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