Darkflow: AssertionError : attendez 44948596 octets, trouvé 44948600

Créé le 10 juin 2018  ·  20Commentaires  ·  Source: thtrieu/darkflow

donc quand j'utilise cette commande sur cmd c:\dark\darkflow-master> python flow --model cfg/yolov2-tiny.cfg --load bin/yolov2-tiny.weights
et puis cette erreur apparaît
2018-06-10 1
s'il vous plaît aidez-moi à résoudre ce problème

Commentaire le plus utile

Tous les 20 commentaires

Bonjour, j'ai aussi ce problème.
même yolov2-minuscule.
AssertionError : attendez 63820056 octets, trouvé 63820060
Quelqu'un peut-il nous aider?

Merci pour ce lien
et au fait, voulez-vous me contacter pour que nous puissions nous entraider dans ce truc de darkflow ?

J'ai eu la même erreur avec yolo pas avec tiny-yolo,
essayez de réduire la largeur et la hauteur dans le fichier cfg. Cela a résolu le problème pour moi.
gardez à l'esprit que les valeurs de largeur et de hauteur doivent être un multiple de 32

J'ai le même problème. J'ai modifié yolov2.cfg avec 3 classes et utilisé yolov2.weights pour entraîner mon propre ensemble de données.
J'ai essayé cette méthode https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file pour résoudre le problème. Cependant, cela ne fonctionne pas. J'ai remplacé l'offset = 16 par l'offset = 20, voire l'offset = 40.

zihang@derek :~/project/darkflow$ flow --model cfg/yolov2-3c.cfg --load bin/yolov2.weights --train --annotation train/Annotations --dataset train/Images --gpu 1.0

/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py:54 : UserWarning : ./cfg/yolov2.cfg introuvable, utilisez cfg/yolov2-3c. cfg à la place
cfg_path, FLAGS.model))
Analyse de cfg/yolov2-3c.cfg
Chargement de bin/yolov2.weights...
Traceback (appel le plus récent en dernier) :
Fichier "/home/zihang/anaconda3/envs/tensorflow/bin/flow", ligne 6, dans
cliHandler(sys.argv)
Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py", ligne 26, dans cliHandler
tfnet = TFNet(DRAPEAU)
Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py", ligne 58, dans __init__
darknet = Darknet (DRAPEAU)
Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", ligne 27, dans __init__
self.load_weights()
Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", ligne 82, dans load_weights
wgts_loader = loader.create_loader( args)Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", ligne 105, dans create_loaderreturn load_type(chemin, cfg)Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", ligne 19, dans __init__self.load( args)
Fichier "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", ligne 77, en charge
walker.offset, walker.size)
AssertionError : attendez 202355760 octets, trouvé 203934260

J'ai aussi la même erreur... Je ne peux pas le résoudre... Quelqu'un m'aide

Jésus !
Venez voir ce que j'ai trouvé ici!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Je ne comprends pas pourquoi, mais ça marche !!! Je vous remercie!!

@dudqls1994
1. Tout d'abord, nous avons d'abord installé tensorflow avec anaconda2 sous ubuntu (la version 2 ou 3 n'affecte pas).
2. L'environnement d'installation requis par darkflow est Python3, donc mettez à niveau Python2 dans anaconda2 vers python3.5. Le système Ubuntu est livré avec python2.7 par défaut. Lorsque vous utilisez darkflow, utilisez source activate py35 pour entrer dans l'environnement Python3.5 et l'utiliser La commande flow fera l'affaire.
3. Ensuite, vous pouvez installer darkflow n'importe où, mais vous devez l'installer dans l'environnement py35, passer à la source de l'environnement Python, activer py35, puis l'installer, vous verrez le dossier darkflow, ce dossier est inutile, dans l'installation de darkflow Il sera automatiquement copié dans anaconda2/envs/py34/lib/python3.5/site-packages/darkflow/utils (quand j'ai nommé Python3.5, j'ai serré la main et l'ai transformé en py34). change est le chargeur dans le répertoire ci-dessus. py ligne 121, change self.offset = 16 en self.offset = 20

J'ai essayé la solution
NB : Si vous utilisez le même GPU pour votre affichage, cela pourrait créer un problème d'utiliser 0,8 du GPU, donc je vous recommande de réduire l'utilisation du GPU à 0,7 et cela fonctionnera bien !

Jésus !
Venez voir ce que j'ai trouvé ici!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

donc nous n'avons pas à rentrer dans le lien qui risque de casser un jour :

La solution est très simple, modifions la ligne self.offset = 16 dans le fichier ./darkflow/utils/loader.py et remplaçons par self.offset = 20.

Pour moi cela n'a pas fonctionné. la différence entre expect et found a cependant beaucoup diminué

Jésus !
Venez voir ce que j'ai trouvé ici!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

donc nous n'avons pas à rentrer dans le lien qui risque de casser un jour :

La solution est très simple, modifions la ligne self.offset = 16 dans le fichier ./darkflow/utils/loader.py et remplaçons par self.offset = 20.

Pour moi cela n'a pas fonctionné. la différence entre expect et found a cependant beaucoup diminué

J'ai eu le même problème mais il peut être résolu en corrigeant self.offset

si 44948596 octets, trouvé 44948600

signifie que la différence (44948600-44948596 ) doit être ajoutée à self.offset.

self.offset= self.offset + 4 différence (44948600- 44948596 )

visage paume *
merci @shalin51

@ shalin51 Cela signifie-t-il que la nouvelle fonction de marche devrait être :

def marcher (auto, taille):
si self.eof : renvoie Aucun
end_point = self.offset + 4 * (44948600- 44948596 )
assert end_point <= self.size, \
'Over-read {}'.format(self.path)

Devrions-nous simplement supprimer le paramètre de taille alors ?

Voici ma solution :

  1. pip désinstaller darkflow
  2. changez le code source dans ./darkflow/utils/loader.py, supprimez simplement la "instruction assert" ou remplacez-la par un avertissement
  3. réinstallez-le par pip install -e .

Ça marche pour moi.

Remarque : Vous devez toujours déterminer si votre fichier cfg et vos poids et labels.txt correspondent les uns aux autres.

J'ai résolu le problème.

http://tn00343140a.pixnet.net/blog/post/299895872-yolo%e9%81%8b%e8%a1%8cdarkflow%e6%99%82%2c-%e5%87%ba%e7%8f%beassertionerror %3a-attend-20392940

Recherchez le fichier "loader.py" et modifiez la valeur de "self.offset".
self.offset mis à jour = old_offset_value + (found_value - expect_value)

J'ai aussi résolu.

je change juste la valeur self.offset en '20' "loader.py" dans ~/darkflow/utils

Je ne sais pas pourquoi cela fonctionne. mais c'est du boulot !

J'ai essayé toutes les méthodes spécifiées ci-dessus. Mais rien de tout cela ne semble fonctionner !!

Existe-t-il un autre moyen de résoudre ce problème !!

Jésus !
Venez voir ce que j'ai trouvé ici!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

Honnêtement, je ne sais pas comment ça marche, mais ça a résolu mon problème, super !!

diff --git a/darkflow/utils/loader.py b/darkflow/utils/loader.py
index 723560d..e2fdaea 100644
--- a/darkflow/utils/loader.py
+++ b/darkflow/utils/loader.py
@@ -118,7 +118,8 @@ classe weights_walker(object):
forme = (), mode = 'r', décalage = 0,
dtype = '({})i4,'.format(4))
self.transpose = majeur > 1000 ou mineur > 1000
- auto.offset = 16
+ auto.offset = 20

  def walk(self, size):
      if self.eof: return None
Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Kowasaki picture Kowasaki  ·  4Commentaires

eugtanchik picture eugtanchik  ·  4Commentaires

ShawnDing1994 picture ShawnDing1994  ·  4Commentaires

halt9 picture halt9  ·  3Commentaires

borasy picture borasy  ·  3Commentaires