Darkflow: AssertionError : attendez 64701556 octets, trouvé 180357512

Créé le 12 mai 2017  ·  27Commentaires  ·  Source: thtrieu/darkflow

Excusez-vous si ce n'est pas un problème et plutôt moi ! J'obtiens l'erreur suivante lorsque j'exécute cette commande :
./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 introuvable, utilisez plutôt cfg/tiny-yolo.cfg
cfg_path, FLAGS.model))
Analyse de cfg/tiny-yolo.cfg
Chargement de bin/yolo-tiny.weights ...
Traceback (appel le plus récent en dernier) :
Fichier "./flow", ligne 45, dans
tfnet = TFNet(DRAPEAU)
Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/net/build.py", ligne 55, dans __init__
darknet = Darknet (DRAPEAU)
Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", ligne 27, dans __init__
self.load_weights()
Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/dark/darknet.py", ligne 82, dans load_weights
wgts_loader = loader.create_loader( args)Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", ligne 105, dans create_loaderreturn load_type(chemin, cfg)Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", ligne 19, dans __init__self.load( args)
Fichier "/Users/localadmin/Downloads/darkflow-master/darkflow/utils/loader.py", ligne 77, en charge
walker.offset, walker.size)
AssertionError : attendez 64701556 octets, trouvé 180357512

De plus, comme je suis nouveau dans l'apprentissage automatique, pourriez-vous m'indiquer un bon article sur la façon de créer un nouveau fichier cfg et de générer un fichier de poids à partir de zéro, je ne trouve pas cela en ligne !

Commentaire le plus utile

@conjuringjha , j'ai eu le même problème mais je l'ai résolu en soustrayant simplement la valeur trouvée (dans votre cas 180357512) à la valeur attendue (dans votre cas 64701556). Supposons que le résultat est "X".
Ouvrez maintenant votre fichier ./darkflow/utils/loader.py et trouvez la ligne 121. Ensuite, vous verrez une variable "self.offset" avec une certaine valeur assignée (16 ou 20). Supposons que la valeur soit égale à "Y".
Mettre à jour la valeur de self.offset=Y+X

J'espère que cela t'aidera !

Tous les 27 commentaires

Il semble qu'il y ait une incohérence entre votre fichier .cfg et le fichier .weigths. Essayez de charger des poids différents ou une configuration différente.

Essaye celui-là:
./flow --model ./cfg/tiny-yolo-voc.cfg --load ./bin/tiny-yolo-voc.weights ...

Merci les gars, je vais essayer votre suggestion à la fin de cette semaine - je vous ferai savoir comment ça se passe.

Il semble y avoir beaucoup de confusion concernant la correspondance entre le fichier .cfg et .weights , chaque fois que darknet met à jour de nouvelles configurations et supprime les anciennes ainsi que leur binaire .weights . Les configurations stables que je connais utilisent .cfg dans ce référentiel et .weights téléchargées dans le lecteur google (voir README).

@thtrieu , dans le lien ci-dessous, cliquez ici [google drive], où vous avez téléchargé les poids, je ne parviens pas à obtenir le fichier .cfg correspondant pour yolo-tiny.weights. Celui présent dans cfg/tiny-yolo.cfg ne fonctionne pas avec ça. J'obtiens la même erreur que celle mentionnée dans ce fil.
J'apprécierais votre aide !
Merci!

J'ai la même erreur, est-ce que quelqu'un l'a résolu ??
Merci!

j'ai résolu!!!
Téléchargez d' ici les fichiers .cfg et .weights !!!

J'ai aussi la même erreur, est-ce que quelqu'un l'a résolu ??

Oui, je l'ai résolu, vous devez télécharger d' ici les fichiers .cfg et .weights !!!
Modifiez votre fichier .cfg dans le dossier cfg

J'ai encore une erreur. Téléchargement des fichiers pour le petit yolo (à la fois cfg et poids), modification de la configuration pour qu'elle s'exécute avec 3 classes et ajout des noms de classe à labels.txt . J'obtiens l'erreur AssertionError: Over-read ./tiny-yolo.weights . Comment puis-je contourner cela? Merci d'avance!

faites attention, j'ai utilisé cocos.name pour remplir label.txt
@goodhamgupta voir ce numéro #80

Le problème existe toujours. Malheureusement, le modèle et le poids ne sont pas adaptés l'un à l'autre. J'ai essayé de le télécharger sur le site https://pjreddie.com/darknet/yolo/ Tiny YOLO basé sur COCO trainval .
La solution suggérée par @evgkarasev - choisissez un autre modèle et un autre poids basé sur VOC 2007+2012 fonctionne pour moi

Je rencontrais également cette "AssertionError". D'après ce que je comprends, cela se produit lorsque vous modifiez le fichier cfg (c'est-à-dire le numéro de classe) et utilisez des poids qui ont été créés pour le fichier cfg d'origine. C'est pourquoi vous obtenez les différents bits lors de l'exécution du flux.

L'erreur que je faisais était d'avoir réécrit le fichier cfg d'origine avec mes nouvelles classes et numéros de filtre. Dans le darkflow, lisez-moi, il mentionne "Il est crucial que vous laissiez le fichier original tiny-yolo-voc.cfg".

Donc, ce que j'ai fait depuis que je travaillais avec la classe 2, j'ai copié le fichier tiny-yolo-voc.cfg et l'ai renommé tiny-yolo-voc-2c.cfg et j'ai apporté les modifications à la classe et au filtre dans cette nouvelle copie. Ensuite, lorsque je suis venu m'entraîner avec Flow, j'ai référencé la copie après --model et cela a fonctionné pour moi.

Quand il commence à s'entraîner, je remarque qu'il fait référence aux deux fichiers cfg lors de l'analyse.

J'espère que cela t'aides.

@mkuko Pouvez-vous dire la commande

@deepkshikha
Sûr,

flow --model cfg/tiny-yolo-voc-2c.cfg --load bin/tiny-yolo-voc.weights --train --annotation (chemin vers mon dossier d'annotations) --dateset (chemin vers mon dossier images)

J'exécute cette commande avec tiny-yolo-voc.cfg (le fichier d'origine) et tiny-yolo-voc-2c.cfg dans le dossier cfg.

@mkuko Merci
J'ai suivi les instructions en laissant le fichier cfg inchangé et j'ai créé un nouveau cfg en modifiant le nombre de classes et de filtres qui ne fonctionnaient toujours pas pour moi. Y a-t-il autre chose que vous ayez fait ??

@deepkshikha
Je ne pense pas avoir fait autre chose pour résoudre ce problème.

Peut-être que moi ou quelqu'un d'autre ici pouvons vous aider, pouvez-vous publier la commande que vous avez saisie et l'erreur que vous obtenez ?

@thtrieu selon votre suggestion, j'ai jumelé les poids mentionnés dans le lecteur avec les fichiers .cfg correspondants dans le référentiel mais j'obtiens l'AssertionError: attendez 64701556 octets, trouvé 180357512. Avant cela, j'ai essayé les poids (fraîchement téléchargés/mis à jour) et .cfg paires du site officiel mais je suis tombé sur la même erreur.

J'ai utilisé la commande de flux de base, celle sans changement dans le fichier .cfg ou label.txt.

Existe-t-il une paire poids-cfg dans le monde qui fonctionne encore...???

@conjuringjha , j'ai eu le même problème mais je l'ai résolu en soustrayant simplement la valeur trouvée (dans votre cas 180357512) à la valeur attendue (dans votre cas 64701556). Supposons que le résultat est "X".
Ouvrez maintenant votre fichier ./darkflow/utils/loader.py et trouvez la ligne 121. Ensuite, vous verrez une variable "self.offset" avec une certaine valeur assignée (16 ou 20). Supposons que la valeur soit égale à "Y".
Mettre à jour la valeur de self.offset=Y+X

J'espère que cela t'aidera !

Bonjour;

La proposition de @ThierryBayala a résolu mon problème ; Merci beaucoup.

j'ai eu:

AssertionError : attendez 63102556 octets, trouvé 63471556

j'ai fait 63471556-63102556=369000

puis j'ai changé la ligne 121 en : self.offset=Y+369000

@ThierryBayala Merci beaucoup. Cela a également résolu mon problème.

Salut,
J'ai installé le Darkflow globalement et je n'ai aucune idée où puis-je trouver le " ./darkflow/utils/loader.py"
en même temps, je ne trouve pas un tel dossier dans le récent clone "darkflow".
Je sais que le problème est le fichier cfg et poids qui ne correspond pas, car après avoir essayé plusieurs CFG et poids, j'ai trouvé la bonne correspondance.
MAIS MAIS je me demande comment ? tandis que le CFG et le poids que j'ai utilisés en premier lieu provenaient du " https://pjreddie.com/darknet/ " qu'ils ont fourni à l'origine.
Alors, où est le problème ?!
@ThierryBayala
@KHDOUDI
@ambr89

@ Ata1362 J'ai lu quelque part que les poids sur pjreddie.com sont continuellement entraînés, ce qui provoque la non-concordance avec les fichiers CFG.

Merci,
Alors, comment pouvons-nous trouver la non-concordance entre le fichier CFG et le fichier Weights et la corriger ?
Nous ne pouvons pas attendre que quelqu'un accidentellement ou après avoir fait correspondre de nombreux CFG,
trouve le bon et partage avec nous.

Le dimanche 12 mai 2019 à 20h46, Matt P [email protected] a écrit :

@Ata1362 https://github.com/Ata1362 J'ai lu quelque part que les poids
sur pjreddie.com sont continuellement formés, ce qui provoque l'inadéquation
avec les fichiers CFG.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/thtrieu/darkflow/issues/223#issuecomment-491592661 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AKAIFQNP5URQYAO6FDLY2FTPVAGTPANCNFSM4DLF6APQ
.

@Ata1362 J'utilisais le tiny-yolo-voc de son site Web, qui fonctionnait correctement avec le tiny-yolo-voc qu'il avait posté ici : https://drive.google.com/drive/folders/0B1tW_VtY7onidEwyQ2FtQVplWEU

@conjuringjha , j'ai eu le même problème mais je l'ai résolu en soustrayant simplement la valeur trouvée (dans votre cas 180357512) à la valeur attendue (dans votre cas 64701556). Supposons que le résultat est "X".
Ouvrez maintenant votre fichier ./darkflow/utils/loader.py et trouvez la ligne 121. Ensuite, vous verrez une variable "self.offset" avec une certaine valeur assignée (16 ou 20). Supposons que la valeur soit égale à "Y".
Mettre à jour la valeur de self.offset=Y+X

J'espère que cela t'aidera !

ça marche pour moi aussi !!!!!!!!!

Merci @ThierryBayala ,

Cela fonctionne pour moi aussi.

Cette page vous a été utile?
0 / 5 - 0 notes