Darkflow: AssertionError: 64701556 Bytes erwarten, gefunden 180357512

Erstellt am 12. Mai 2017  ·  27Kommentare  ·  Quelle: thtrieu/darkflow

Entschuldigen Sie, wenn dies kein Problem ist, und lieber ich! Ich erhalte die folgende Fehlermeldung, wenn ich diesen Befehl ausführe:
./flow --model cfg/tiny-yolo.cfg --load bin/yolo-tiny.weights

/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolo-tiny.cfg nicht gefunden, verwende stattdessen cfg/tiny-yolo.cfg
cfg_path, FLAGS.model))
Parsen von cfg/tiny-yolo.cfg
Laden bin/yolo-tiny.weights ...
Traceback (letzter Anruf zuletzt):
Datei "./flow", Zeile 45, in
tfnet = TFNet(FLAGS)
Datei "/Users/localadmin/Downloads/darkflow-master/darkflow/net/build.py", Zeile 55, in __init__
Darknet = Darknet(FLAGS)
Datei "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", Zeile 27, in __init__
self.load_weights()
Datei "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", Zeile 82, in load_weights
wgts_loader = loader.create_loader( args)Datei "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", Zeile 105, in create_loaderload_type (Pfad, cfg) zurückgebenDatei "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", Zeile 19, in __init__self.load (Argumente )
Datei "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", Zeile 77, in load
Walker.Offset, Walker.Größe)
AssertionError: 64701556 Bytes erwarten, gefunden 180357512

Da ich neu im Bereich maschinelles Lernen bin, können Sie mir einen guten Artikel zum Erstellen einer neuen cfg-Datei und zum Generieren einer Gewichtungsdatei von Grund auf empfehlen. Ich kann dies online nicht finden!

Hilfreichster Kommentar

Hey @conjuringjha , ich hatte das gleiche Problem, aber ich habe es gelöst, indem ich einfach den gefundenen Wert (in deinem Fall 180357512) vom erwarteten Wert (in deinem Fall 64701556) abgezogen habe. Angenommen, das Ergebnis ist "X".
Öffnen Sie nun Ihre Datei ./darkflow/utils/loader.py und suchen Sie die Zeile 121. Dann sehen Sie eine Variable "self.offset" mit einem bestimmten Wert zugewiesen (16 oder 20). Angenommen, der Wert ist gleich "Y".
Aktualisieren Sie den Wert von self.offset=Y+X

Ich hoffe, dies wird dir helfen !

Alle 27 Kommentare

Es scheint, dass eine Inkonsistenz zwischen Ihrer .cfg-Datei .weigths-Datei besteht. Versuchen Sie, verschiedene Gewichtungen oder eine andere Konfiguration zu laden.

Probier diese:
./flow --model ./cfg/tiny-yolo-voc.cfg --load ./bin/tiny-yolo-voc.weights ...

Danke Leute, ich werde Ihren Vorschlag Ende dieser Woche ausprobieren - ich werde Sie wissen lassen, wie es läuft.

Es scheint eine Menge Verwirrung bezüglich der Entsprechung zwischen .cfg und .weights Datei zu geben, wenn Darknet neue Konfigurationen aktualisiert und alte sowie deren Binärdatei .weights verwirft. Die stabilen Konfigurationen, die ich kenne, verwenden .cfg in diesem Repo und .weights , die in das Google-Laufwerk hochgeladen wurden (siehe README).

@thtrieu , im folgenden Link klicken Sie hier [google drive], wo Sie die Gewichte hochgeladen haben, kann ich die entsprechende .cfg-Datei für yolo-tiny.weights nicht abrufen. Das in cfg/tiny-yolo.cfg vorhandene funktioniert damit nicht. Ich bekomme den gleichen Fehler wie in diesem Thread erwähnt.
Wäre für Ihre Hilfe dankbar!
Danke!

Ich habe den gleichen Fehler, hat ihn jemand gelöst??
Danke!

Ich habe gelöst!!!
Laden Sie hier die .cfg- und .weights-Datei herunter!!!

Den gleichen Fehler habe ich auch, hat ihn jemand gelöst??

Ja, ich habe es gelöst, Sie müssen von hier die .cfg- und .weights-Datei herunterladen!!!
Ändern Sie Ihre .cfg-Datei im cfg-Ordner

Ich habe noch einen Fehler. Die Dateien für tiny yolo (sowohl cfg als auch weights) heruntergeladen, die Konfiguration so geändert, dass sie mit 3 Klassen ausgeführt wird, und die Klassennamen zu labels.txt hinzugefügt. Ich erhalte die Fehlermeldung AssertionError: Over-read ./tiny-yolo.weights . Wie kann ich das umgehen? Vielen Dank im Voraus!

Pass auf, ich habe cocos.name verwendet, um label.txt zu füllen
@goodhamgupta siehe diese Ausgabe #80

Das Problem besteht weiterhin. Leider passen das Modell und das Gewicht nicht zusammen. Ich habe versucht, es von der Website https://pjreddie.com/darknet/yolo/ Tiny YOLO basierend auf COCO trainval herunterzuladen.
Die vorgeschlagene Lösung von @evgkarasev - wähle ein anderes Modell und Gewicht basierend auf VOC 2007+2012 funktioniert für mich

Ich bin auch auf diesen "AssertionError" gestoßen. Nach meinem Verständnis passiert es, wenn Sie die cfg-Datei (dh die Klassennummer) ändern und Gewichtungen verwenden, die für die ursprüngliche cfg-Datei erstellt wurden. Aus diesem Grund erhalten Sie beim Ausführen von Flow die verschiedenen Bits.

Der Fehler, den ich machte, war, dass ich die ursprüngliche cfg-Datei mit meinen neuen Klassen und Filternummern neu geschrieben habe. Im Darkflow read me steht "Es ist entscheidend, dass du die original tiny-yolo-voc.cfg belässt".

Also, was ich getan habe, seit ich mit 2 Klassen gearbeitet habe, habe ich die Datei tiny-yolo-voc.cfg kopiert und in tiny-yolo-voc-2c.cfg umbenannt und die Änderungen an Klasse und Filter in dieser neuen Kopie vorgenommen. Als ich dann dazu kam, mit Flow zu trainieren, habe ich die Kopie nach --model referenziert und es hat für mich funktioniert.

Wenn es zu trainieren beginnt, bemerke ich, dass es beim Parsen auf beide cfg-Dateien verweist.

Hoffe das hilft.

@mkuko Kannst du den Befehl sagen

@deepkshikha
Sicher,

flow --model cfg/tiny-yolo-voc-2c.cfg --load bin/tiny-yolo-voc.weights --train --annotation (Pfad zu meinem Anmerkungsordner) --dateset (Pfad zu meinem Bilderordner)

Ich führe diesen Befehl sowohl mit tiny-yolo-voc.cfg (der Originaldatei) als auch mit tiny-yolo-voc-2c.cfg im cfg-Ordner aus.

@mkuko Danke
Ich habe die Anweisung befolgt, die cfg-Datei unverändert gelassen und eine neue cfg erstellt, indem ich die Nummer der Klasse und die Filternummer geändert habe, die bei mir immer noch nicht funktioniert. Hast du sonst noch was gemacht??

@deepkshikha
Ich glaube nicht, dass ich etwas anderes getan habe, um dieses Problem zu beheben.

Vielleicht kann ich oder jemand anderes hier helfen, können Sie den Befehl, den Sie eingeben, und den Fehler, den Sie erhalten, posten?

@thtrieu gemäß Ihrem Vorschlag habe ich die auf dem Laufwerk erwähnten Gewichte mit den entsprechenden .cfg-Dateien im Repo gepaart, aber ich erhalte den AssertionError: Erwarte 64701556 Bytes, gefunden 180357512. Davor habe ich die (frisch heruntergeladenen / aktualisierten) Gewichte und .cfg ausprobiert Paare von der offiziellen Website, aber ich bin auf den gleichen Fehler gestoßen.

Ich habe den grundlegenden Flow-Befehl verwendet, denjenigen ohne Änderungen in der .cfg-Datei oder label.txt.

Gibt es ein Gewicht-cfg-Paar auf der Welt, das noch funktioniert...???

Hey @conjuringjha , ich hatte das gleiche Problem, aber ich habe es gelöst, indem ich einfach den gefundenen Wert (in deinem Fall 180357512) vom erwarteten Wert (in deinem Fall 64701556) abgezogen habe. Angenommen, das Ergebnis ist "X".
Öffnen Sie nun Ihre Datei ./darkflow/utils/loader.py und suchen Sie die Zeile 121. Dann sehen Sie eine Variable "self.offset" mit einem bestimmten Wert zugewiesen (16 oder 20). Angenommen, der Wert ist gleich "Y".
Aktualisieren Sie den Wert von self.offset=Y+X

Ich hoffe, dies wird dir helfen !

Hallo;

Der Vorschlag von @ThierryBayala hat mein Problem gelöst; Vielen Dank.

ich hatte:

AssertionError: 63102556 Bytes erwarten, 63471556 gefunden

Ich habe 63471556-63102556=369000 . gemacht

dann habe ich Zeile 121 geändert zu: self.offset=Y+369000

@ThierryBayala Vielen Dank. Es hat mein Problem auch gelöst.

Hallo,
Ich habe Darkflow global installiert und habe keine Ahnung, wo ich die " ./darkflow/utils/loader.py" finde.
Gleichzeitig kann ich einen solchen Ordner im aktuellen "darkflow"-Klon nicht finden.
Ich weiß, dass das Problem darin besteht, dass die cfg- und die Weight-Datei nicht übereinstimmen, da ich nach dem Ausprobieren mehrerer CFGs und WEIGHTs die richtige Übereinstimmung gefunden habe.
ABER ABER ich frage mich wie? während der CFG und das Gewicht, das ich in erster Linie verwendet habe, von " https://pjreddie.com/darknet/ " stammten, das sie ursprünglich bereitgestellt hatten.
Wo liegt dann das Problem?!
@ThierryBayala
@KHDOUDI
@ambr89

@Ata1362 Ich habe irgendwo gelesen, dass die Gewichte auf pjreddie.com ständig trainiert werden, was zu einer Nichtübereinstimmung mit den CFG-Dateien führt.

Danke schön,
Wie können wir also die Diskrepanz zwischen der CFG- und der Weights-Datei finden und beheben?
Wir können nicht warten, bis jemand aus Versehen oder nach dem Abgleichen vieler CFGs,
findet das Richtige und teilt es mit uns.

Am Sonntag, 12. Mai 2019 um 20:46 Uhr schrieb Matt P [email protected] :

@Ata1362 https://github.com/Ata1362 Ich habe irgendwo gelesen, dass die Gewichte
auf pjreddie.com werden ständig trainiert, was zu der Diskrepanz führt
mit den CFG-Dateien.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/thtrieu/darkflow/issues/223#issuecomment-491592661 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AKAIFQNP5URQYAO6FDLY2FTPVAGTPANCNFSM4DLF6APQ
.

@Ata1362 Ich habe das tiny-yolo-voc von seiner Website verwendet, das mit dem tiny-yolo-voc, das er hier gepostet hat, ordnungsgemäß lief: https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU

Hey @conjuringjha , ich hatte das gleiche Problem, aber ich habe es gelöst, indem ich einfach den gefundenen Wert (in deinem Fall 180357512) vom erwarteten Wert (in deinem Fall 64701556) abgezogen habe. Angenommen, das Ergebnis ist "X".
Öffnen Sie nun Ihre Datei ./darkflow/utils/loader.py und suchen Sie die Zeile 121. Dann sehen Sie eine Variable "self.offset" mit einem bestimmten Wert zugewiesen (16 oder 20). Angenommen, der Wert ist gleich "Y".
Aktualisieren Sie den Wert von self.offset=Y+X

Ich hoffe, dies wird dir helfen !

Das funktioniert bei mir auch!!!!!!!!!!

Danke @ThierryBayala ,

Das funktioniert bei mir auch.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen