Как преобразовать модель даркнет йоло в керас? - PullRequest
0 голосов
/ 28 апреля 2018

Я использую yad2k для преобразования модели darknet YOLO в формат keras .h5. У меня есть yolov3-voc.cfg, yolov3.weights и yolov3.cfg в каталоге выше того, который содержит скрипт yad2k. Когда я запускаю следующую команду:

python3 yad2k.py -p ../yolov3-voc.cfg ../yolov3.weights model_data/yolov3.h5

или

python3 yad2k.py -p ../yolov3.cfg ../yolov3.weights model_data/yolov3.h5

Я получаю следующую ошибку:

    Traceback (most recent call last):
  File "yad2k.py", line 271, in <module>
    _main(parser.parse_args())
  File "yad2k.py", line 90, in _main
    cfg_parser.read_file(unique_config_file)
  File "/Users/tobykrieman/anaconda/lib/python3.6/configparser.py", line 718, in read_file
    self._read(f, source)
  File "/Users/tobykrieman/anaconda/lib/python3.6/configparser.py", line 1080, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: '<???>', line: 7
'<!DOCTYPE html>\n'

Как я могу это исправить?

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Вы не можете конвертировать YOLOv3 в модель Keras, используя YAD2K. Это связано с тем, что файл конфигурации YOLOv3 имеет заголовок [shortcut]. В файле yad2k.py нет метода для обработки этого заголовка, как он был написан во времена YOLOv2 (у которого нет этого слоя / заголовка).

Однако в вашем случае вы, похоже, читаете файл конфигурации другого типа, который, очевидно, имеет тег <!DOCTYPE html>\n. Но в любом случае, даже если вы попробуете это с YOLOv3 cfg, он не будет работать по той причине, о которой я упоминал выше. Пробовал сам!

0 голосов
/ 29 июня 2018

Вы должны попробовать инструкции в этом репозитории Github , который представляет собой "реализацию Keras для YOLOv3"

git clone https://github.com/qqwweee/keras-yolo3.git
cd keras-yolo3
wget https://pjreddie.com/media/files/yolov3.weights
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
python yolo.py   OR   python yolo_video.py [video_path] [output_path(optional)]
0 голосов
/ 29 апреля 2018

Ваши темные файлы .cfg, вероятно, не верны Они должны выглядеть примерно так:

[net]
batch=128
subdivisions=1
height=227
width=227
channels=3
momentum=0.9
decay=0.0005
max_crop=256

learning_rate=0.01
policy=poly
power=4
max_batches=800000

angle=7
hue = .1
saturation=.75
exposure=.75
aspect=.75

[convolutional]
filters=96
...

(взято из https://github.com/pjreddie/darknet/blob/master/cfg/alexnet.cfg)
Ваш .cfg файл выглядит так, как будто в нем есть HTML.

...