Estou tentando treinar meu próprio conjunto de dados com minhas anotações usando este comando:
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
minha pasta de anotações (tudo xml)
minha pasta de conjunto de dados (tudo jpg)
Erro:
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
Estou recebendo o mesmo erro. Tentei retreinar usando o conjunto de dados VOC. Você conseguiu resolver isso?
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 no "darkflow / darkflow / net / yolov2 / data.py" tente imprimir o caminho da imagem, aí você vai ficar sabendo qual é o erro aí .. !! Veja o seguinte código.
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 Sim, eu
Eu também mudei essa linha de código em darkflow / utils / pascal_voc_clean_xml.py. (linha 22) para:
annotations = glob.glob('*.xml')
O erro causado por uma anotação sem dados. (há uma anotação para a imagem, mas a imagem sumiu) Eu deletei esse annotation.xml e funcionou! Obrigado!
Tive o mesmo problema. Descobri que o darkflow precisava de arquivos xml em vez de anotações txt.
Comentários muito úteis
@ naren142 Sim, eu
Eu também mudei essa linha de código em darkflow / utils / pascal_voc_clean_xml.py. (linha 22) para:
annotations = glob.glob('*.xml')
O erro causado por uma anotação sem dados. (há uma anotação para a imagem, mas a imagem sumiu) Eu deletei esse annotation.xml e funcionou! Obrigado!