Darkflow: AssertionError: ожидание 44948596 байт, найдено 44948600

Созданный на 10 июн. 2018  ·  20Комментарии  ·  Источник: thtrieu/darkflow

поэтому, когда я использую эту команду в cmd c: \ dark \ darkflow-master> python flow --model cfg / yolov2-tiny.cfg --load bin / yolov2-tiny.weights
а потом появляется эта ошибка
2018-06-10 1
пожалуйста, помогите мне исправить это

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

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

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

Привет, у меня тоже есть эта проблема.
тот же йолов2-крошечный.
AssertionError: ожидается 63820056 байт, найдено 63820060
Кто-нибудь может нам помочь?

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

спасибо за эту ссылку
и, кстати, ты хочешь связаться со мной, чтобы мы могли помочь друг другу в этом деле Darkflow?

У меня была такая же ошибка с yolo, а не с tiny-yolo,
попробуйте уменьшить ширину и высоту в файле cfg. это решило проблему для меня.
имейте в виду, что значения ширины и высоты должны быть кратны 32

У меня та же проблема. Я модифицировал yolov2.cfg с тремя классами и использовал yolov2.weights для обучения своего собственного набора данных.
Я попробовал этот метод https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file, чтобы решить проблему. Однако это не работает. Я заменил смещение = 16 на смещение = 20, даже смещение = 40.

zihang @ derek : ~ / project / darkflow $ flow --model cfg / yolov2-3c.cfg --load bin / yolov2.weights --train --annotation train / Annotations --dataset train / Images --gpu 1.0

/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolov2.cfg не найден, используйте cfg / yolov2-3c. cfg вместо
cfg_path, FLAGS.model))
Разбор cfg / yolov2-3c.cfg
Загрузка бункера / yolov2.weights ...
Отслеживание (последний вызов последний):
Файл "/ home / zihang / anaconda3 / envs / tensorflow / bin / flow", строка 6, в
cliHandler (sys.argv)
Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py", строка 26, в cliHandler
tfnet = TFNet (ФЛАГИ)
Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py", строка 58, в __init__
darknet = даркнет (ФЛАГИ)
Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", строка 27, в __init__
self.load_weights ()
Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", строка 82, в load_weights
wgts_loader = loader.create_loader ( аргументы)Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", строка 105, в create_loaderreturn load_type (путь, cfg)Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", строка 19, в __init__self.load ( аргументы)
Файл "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", строка 77, загружается
walker.offset, walker.size)
AssertionError: ожидайте 202355760 байт, найдено 203934260

У меня такая же ошибка .... Я не могу ее решить ..... Кто-нибудь, помогите мне

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Не понимаю почему, но работает !!! Спасибо!!

@ dudqls1994
1. Первым делом мы сначала установили tenorflow с anaconda2 под ubuntu (версия 2 или 3 не влияет).
2. Среда установки, требуемая darkflow, - это Python3, поэтому обновите Python2 в anaconda2 до python3.5. Система Ubuntu по умолчанию поставляется с python2.7. При использовании darkflow используйте источник, активируйте py35, чтобы войти в среду Python3.5 и использовать ее. Подойдет команда потока.
3. Затем вы можете установить darkflow где угодно, но вам нужно установить его в среде py35, изменить источник среды Python, активировать py35, а затем установить его, вы увидите папку darkflow, эта папка бесполезна, в установке of darkflow Он будет автоматически скопирован в anaconda2 / envs / py34 / lib / python3.5 / site-packages / darkflow / utils (когда я назвал Python3.5, я пожал руки и превратил его в py34). Что мне нужно change - это загрузчик в указанном выше каталоге. py строка 121, измените self.offset = 16 на self.offset = 20

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Спасибо, чувак, ты спасатель

Пробовал решение @ideaRunner , не полностью работало, отображалась другая ошибка, поэтому я уменьшил
NB: если вы используете тот же графический процессор для своего дисплея, это может создать проблему при использовании 0,8 графического процессора, поэтому я рекомендую вам уменьшить использование графического процессора до 0,7, и он будет работать нормально!

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

поэтому нам не нужно переходить по ссылке, которая однажды может сломаться:

Решение очень простое, давайте изменим строку self.offset = 16 в файле ./darkflow/utils/loader.py и заменим ее на self.offset = 20.

Для меня это не сработало. хотя разница между expect и found значительно уменьшилась

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

поэтому нам не нужно переходить по ссылке, которая однажды может сломаться:

Решение очень простое, давайте изменим строку self.offset = 16 в файле ./darkflow/utils/loader.py и заменим ее на self.offset = 20.

Для меня это не сработало. хотя разница между expect и found значительно уменьшилась

У меня была такая же проблема, но ее можно решить правильным self.offset

если 44948596 байт, найдено 44948600

означает, что разницу (44948600-44948596) следует добавить в self.offset.

self.offset = self.offset + 4 разницы (44948600-44948596)

лицо ладонь *
спасибо @ shalin51

@ shalin51 Означает ли это, что новая функция прогулки должна быть:

def walk (self, size):
если self.eof: return None
end_point = self.offset + 4 * (44948600-44948596)
assert end_point <= self.size, \
Формат 'Over-read {}' (self.path)

Должны ли мы тогда просто удалить параметр размера?

Вот мое решение:

  1. pip удалить darkflow
  2. измените исходный код в ./darkflow/utils/loader.py, просто удалите «утверждение утверждения» или замените его предупреждением
  3. переустановите его с помощью pip install -e .

Меня устраивает.

Примечание: вам все еще нужно выяснить, соответствуют ли ваш файл cfg, weights и labels.txt друг другу.

Я решил проблему.

http://tn00343140a.pixnet.net/blog/post/299895872-yolo%e9%81%8b%e8%a1%8cdarkflow%e6%99%82%2c-%e5%87%ba%e7%8f%beassertionerror % 3a-expect-20392940

Найдите файл «loader.py» и измените значение «self.offset».
обновлено self.offset = old_offset_value + (found_value - ожидаемое_значение)

Я тоже решил.

Я просто меняю значение self.offset как '20' loader.py в ~ / darkflow / utils

я не знаю, почему это работает. но это работа!

Я пробовал все указанные выше методы. Но вроде ничего не работает !!

Есть ли другой способ решить эту проблему вверх !!

О Господи!
Приходите посмотреть, что я здесь нашел!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Честно говоря, я не знаю, как это работает, но он решил мою проблему, отлично !!

diff --git a / darkflow / utils / loader.py b / darkflow / utils / loader.py
индекс 723560d..e2fdaea 100644
--- a / darkflow / utils / loader.py
+++ б / darkflow / utils / loader.py
@@ -118,7 +118,8 @@ class weights_walker (объект):
shape = (), mode = 'r', offset = 0,
dtype = '({}) i4,'. format (4))
self.transpose = major> 1000 или minor> 1000
- self.offset = 16
+ self.offset = 20

  def walk(self, size):
      if self.eof: return None
Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

bareblackfoot picture bareblackfoot  ·  5Комментарии

xunkaixin picture xunkaixin  ·  4Комментарии

pribadihcr picture pribadihcr  ·  5Комментарии

ManojPabani picture ManojPabani  ·  4Комментарии

jubjamie picture jubjamie  ·  4Комментарии