Darkflow: Erkennt meinen Datensatz nicht und ZeroDivisionError: Division durch Null

Erstellt am 17. Aug. 2018  ·  4Kommentare  ·  Quelle: thtrieu/darkflow

Ich versuche, mein eigenes Dataset mit meinen Anmerkungen mit diesem Befehl zu trainieren:
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

Mein Anmerkungsordner (alle XML)
mein Datensatzordner (alle jpg)

Fehler :

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

Hilfreichster Kommentar

@naren142 Ja, ich habe das Problem am selben Tag behoben, an dem ich dieses Problem mit dem Drucken verarbeiteter Bilder beim Trainieren erstellt habe.
Ich habe diese Codezeile auch unter darkflow/utils/pascal_voc_clean_xml.py geändert. (Zeile 22) an:
annotations = glob.glob('*.xml')

Der Fehler, der durch eine Anmerkung ohne Daten verursacht wurde. (Es gibt eine Anmerkung für das Bild, aber das Bild ist weg) Ich habe diese annotation.xml gelöscht, dann hat es funktioniert! Vielen Dank!

Alle 4 Kommentare

Ich bekomme den gleichen Fehler. Umschulung mit VOC-Datensatz versucht. Haben Sie es geschafft, es zu lösen?

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 in der "darkflow/darkflow/net/yolov2/data.py" versuche den Pfad des Bildes auszudrucken, dann erfährst du was da der Fehler ist...!! Siehe den folgenden Code.

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 Ja, ich habe das Problem am selben Tag behoben, an dem ich dieses Problem mit dem Drucken verarbeiteter Bilder beim Trainieren erstellt habe.
Ich habe diese Codezeile auch unter darkflow/utils/pascal_voc_clean_xml.py geändert. (Zeile 22) an:
annotations = glob.glob('*.xml')

Der Fehler, der durch eine Anmerkung ohne Daten verursacht wurde. (Es gibt eine Anmerkung für das Bild, aber das Bild ist weg) Ich habe diese annotation.xml gelöscht, dann hat es funktioniert! Vielen Dank!

Hatte das gleiche Problem. Habe herausgefunden, dass Darkflow XML-Dateien anstelle von TXT-Anmerkungen benötigt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen