В настоящее время я работаю над этим примером с darkflow:
https://github.com/deep-diver/Soccer-Ball-Detection-YOLOv2/blob/master/YOLOv2-Train.ipynb Я могу показать опции с T Fnet следующим образом :
options = {"model": "darkflow/cfg/yolo_custom.cfg",
"load": "darkflow/bin/yolov2.weights",
#"config": "darkflow/cfg",
"labels": "darkflow/labels.txt",
"batch": 8,
"epoch": 100,
"gpu": 1.0,
"train": True,
"annotation": "darkflow/annotations/",
"dataset": "darkflow/images/"}
tfnet = TFNet(options)
Но когда я пытаюсь использовать t fnet .train (), я получаю сообщения об ошибках:
Traceback (most recent call last):
File "C:\Users\sigur\PycharmProjects\YoloTest\venv\lib\site-
packages\tensorflow\python\client\session.py", line 1356, in _do_call
return fn(*args)
File "C:\Users\sigur\PycharmProjects\YoloTest\venv\lib\site-
packages\tensorflow\python\client\session.py", line 1341, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "C:\Users\sigur\PycharmProjects\YoloTest\venv\lib\site-
packages\tensorflow\python\client\session.py", line 1429, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input to reshape is a tensor with
1227400 values, but the requested shape requires a multiple of 12635
[[{{node Reshape}}]]
Так как в этом примере есть два класса: " ball "и" goal post ", мой cfg-файл должен иметь фильтр: 5 * (2 # classes + 5) = 35. Но я должен использовать старое значение 425, чтобы преодолеть эту ошибку:
AssertionError: expect 202335260 bytes, found 203934260
Я не уверен, зачем фильтру значение 425, но считаю, что это из кокосовых имен, которые имеют 80 классов.
Версии:
Python 3,6
Tensorflow 1.14
До сих пор пробовал:
Как мне кажется, проблема в следующем:
Похоже, новый cfg и файл веса имеют несоответствие, а файл cfg застрял со старыми значениями.
Любая помощь очень ценится!