Darkflow: AssertionError:44948596バイトが必要で、44948600が見つかりました

作成日 2018年06月10日  ·  20コメント  ·  ソース: thtrieu/darkflow

したがって、このコマンドをcmd c:\ dark \ darkflow-master> python flow --model cfg / yolov2-tiny.cfg --load bin /yolov2-tiny.weightsで使用すると
その後、このエラーが表示されます
2018-06-10 1
これを修正するのを手伝ってください

最も参考になるコメント

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

全てのコメント20件

こんにちは、私もこの問題を抱えています。
同じyolov2-tiny。
AssertionError:63820056バイトを予期し、63820060が見つかりました
誰かが私たちを助けることができますか?

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

そのリンクをありがとう
ところで、このdarkflowでお互いに助け合うことができるように、私と連絡を取りたいですか?

tiny-yoloではなくyoloでも同じエラーが発生しました。
cfgファイルの幅と高さを減らしてみてください。問題は解決しました。
幅と高さの値は32の倍数である必要があることに注意してください

同じ問題が発生しました。 yolov2.cfgを3つのクラスで変更し、yolov2.weightsを使用して独自のデータセットをトレーニングしました。
問題を解決するために、このメソッドhttps://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-fileを試しました。 ただし、機能しません。 オフセット= 16をオフセット= 20、さらにはオフセット= 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が見つかりません。cfg/ yolov2-3cを使用してください。代わりにcfg
cfg_path、FLAGS.model))
cfg /yolov2-3c.cfgの解析
bin /yolov2.weightsを読み込んでいます..。
トレースバック(最後の最後の呼び出し):
ファイル "/ home / zihang / anaconda3 / envs / tensorflow / bin / flow"、6行目
cliHandler(sys.argv)
cliHandlerのファイル「/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py」、26行目
tfnet = TFNet(FLAGS)
ファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py"、58行目、__ init__
darknet = Darknet(FLAGS)
ファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py"、27行目、__ init__
self.load_weights()
ファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py"、82行目、load_weights
wgts_loader = loader.create_loader( args)create_loaderのファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py"、行105load_type(path、cfg)を返しますファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py"、19行目、__ init__self.load( args)
ファイル "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py"、77行目、読み込み中
walker.offset、walker.size)
AssertionError:202355760バイトが必要で、203934260が見つかりました

私も同じエラー....私はそれを解決することはできません.....誰もが私を助けてくれます

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

理由はわかりませんが、うまくいきます!!! ありがとうございます!!

@ dudqls1994
1.まず、ubuntuの下にanaconda2を使用してtensorflowをインストールしました(バージョンは2または3では影響しません)。
2. darkflowに必要なインストール環境はPython3であるため、anaconda2のPython2をpython3.5にアップグレードします。Ubuntuシステムにはデフォルトでpython2.7が付属しています。darkflowを使用する場合は、source activatepy35を使用してPython3.5環境に入ります。フローコマンドで実行できます。
3.次に、darkflowはどこにでもインストールできますが、py35環境にインストールし、Python環境ソースに変更してpy35をアクティブ化してからインストールすると、darkflowフォルダーが表示されます。このフォルダーは、インストールでは役に立ちません。 of darkflowこれは、anaconda2 / envs / py34 / lib / python3.5 / site-packages / darkflow / utilsに自動的にコピーされます(Python3.5と名付けたとき、手を振ってpy34に変換しました)。 changeは、上記のディレクトリのローダーです。py行121、self.offset = 16をself.offset = 20に変更します。

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

ありがとう、あなたは命の恩人です

@ideaRunnerソリューションを試し
注意:ディスプレイに同じGPUを使用する場合、0.8のGPUを使用すると問題が発生する可能性があるため、GPUの使用量を0.7に減らすことをお勧めします。これで、問題なく動作します。

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

だから私たちはいつか壊れるかもしれないリンクに入る必要はありません:

解決策は非常に簡単です。./darkflow/utils/loader.pyファイルの行self.offset = 16を変更し、self.offset = 20に置き換えてみましょう。

私にとってはうまくいきませんでした。 期待と発見の違いはかなり縮小しました

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

だから私たちはいつか壊れるかもしれないリンクに入る必要はありません:

解決策は非常に簡単です。./darkflow/utils/loader.pyファイルの行self.offset = 16を変更し、self.offset = 20に置き換えてみましょう。

私にとってはうまくいきませんでした。 期待と発見の違いはかなり縮小しました

私は同じ問題を抱えていましたが、正しいself.offsetで解決できます

44948596バイトの場合、44948600が見つかりました

差(44948600- 44948596)をself.offsetに追加する必要があることを意味します。

self.offset = self.offset + 4の差(44948600- 44948596)

手のひら*
ありがとう@ shalin51

@ shalin51これは、新しいウォーク関数が次のようになることを意味しますか?

def walk(self、size):
self.eofの場合:Noneを返します
end_point = self.offset + 4 *(44948600- 44948596)
end_point <= self.size、\をアサートします
'オーバーリード{}'。format(self.path)

次に、サイズパラメータを削除する必要がありますか?

これが私の解決策です:

  1. pipアンインストールdarkflow
  2. ./darkflow/utils/loader.pyのソースコードを変更し、「assertステートメント」を削除するか、警告に置き換えます
  3. pip install -e .再インストールします

わたしにはできる。

注意:cfgファイルとweightsおよびlabels.txtが互いに一致するかどうかを確認する必要があります。

私は問題を解決しました。

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-expect-20392940

ファイル「loader.py」を見つけて、「self.offset」の値を変更します。
更新されたself.offset = old_offset_value +(found_value-expected_value)

私も解決しました。

〜/ darkflow / utilsでself.offset値を「20」「loader.py」に変更するだけです。

なぜこれが機能するのかわかりません。 しかし、それは仕事です!

私は上記のすべての方法を試してきました。 しかし、何も機能していないようです!!

この問題を解決する他の方法はありますか?

ああ、イエス様!
私がここで見つけたものを見に来てください!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file

正直なところ、どのように機能するのかわかりませんが、問題は解決しました。

diff --git a / darkflow / utils / loader.py b / darkflow / utils / loader.py
インデックス723560d..e2fdaea100644
--- a / darkflow / utils / loader.py
+++ b / darkflow / utils / loader.py
@@ -118,7 +118,8 @@ class weights_walker(object):
形状=()、モード= 'r'、オフセット= 0、
dtype = '({})i4、'。format(4))
self.transpose =メジャー> 1000またはマイナー> 1000
--self.offset = 16
+ self.offset = 20

  def walk(self, size):
      if self.eof: return None
このページは役に立ちましたか?
0 / 5 - 0 評価