我正在尝试使用以下命令通过注释训练我自己的数据集:
python flow --model cfg/tiny-yolo-voc-4c.cfg --load bin/tiny-yolo-voc.weights --train --annotation custom/annotations --dataset custom/all --gpu 0.8 --epoch 500
我的注释文件夹(所有 xml)
我的数据集文件夹(全部为 jpg)
错误 :
Statistics:
Dataset size: 0
Dataset of 0 instance(s)
Traceback (most recent call last):
File "flow", line 6, in <module>
cliHandler(sys.argv)
File "C:\Users\msi\Desktop\VSCode Folder\AI Stuff\YOLO Darkflow\darkflow-gpu\darkflow\cli.py", line 33, in cliHandler
print('Enter training ...'); tfnet.train()
File "C:\Users\msi\Desktop\VSCode Folder\AI Stuff\YOLO Darkflow\darkflow-gpu\darkflow\net\flow.py", line 39, in train
for i, (x_batch, datum) in enumerate(batches):
File "C:\Users\msi\Desktop\VSCode Folder\AI Stuff\YOLO Darkflow\darkflow-gpu\darkflow\net\yolo\data.py", line 102, in shuffle
batch_per_epoch = int(size / batch)
ZeroDivisionError: division by zero
我收到同样的错误。 尝试使用 VOC 数据集重新训练。 你设法解决了吗?
Statistics:
Dataset size: 0
Dataset of 0 instance(s)
Traceback (most recent call last):
File "/usr/local/bin/flow", line 6, in <module>
cliHandler(sys.argv)
File "/videoEval/darkflow/darkflow/cli.py", line 29, in cliHandler
print('Enter training ...'); tfnet.train()
File "/videoEval/darkflow/darkflow/net/flow.py", line 39, in train
for i, (x_batch, datum) in enumerate(batches):
File "/videoEval/darkflow/darkflow/net/yolo/data.py", line 102, in shuffle
batch_per_epoch = int(size / batch)
ZeroDivisionError: division by zero
@humanova在“darkflow / darkflow / NET / yolov2 / data.py”尝试打印图像的路径,那么你会得到知道什么是错误有.. !! 请参阅以下代码。
jpg = chunk[0]; w, h, allobj_ = chunk[1]
allobj = deepcopy(allobj_)
path = os.path.join(self.FLAGS.dataset, jpg)
**print("Processed : {}".format(path))**
img = self.preprocess(path, allobj)
@naren142是的,我在创建这个问题的同一天解决了这个问题,同时打印处理过的图像同时进行训练。
我还在darkflow/utils/pascal_voc_clean_xml.py 更改了这行代码。 (第 22 行)到:
annotations = glob.glob('*.xml')
由没有数据的注释引起的错误。 (图像有注释,但图像不见了)我删除了 annotation.xml 然后它起作用了! 谢谢!
有同样的问题。 发现darkflow 需要xml 文件而不是txt 注释。
最有用的评论
@naren142是的,我在创建这个问题的同一天解决了这个问题,同时打印处理过的图像同时进行训练。
我还在darkflow/utils/pascal_voc_clean_xml.py 更改了这行代码。 (第 22 行)到:
annotations = glob.glob('*.xml')
由没有数据的注释引起的错误。 (图像有注释,但图像不见了)我删除了 annotation.xml 然后它起作用了! 谢谢!