Darkflow: 断言错误:期望 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
请帮我解决这个问题

最有用的评论

所有20条评论

你好,我也有这个问题。
同样的yolov2-tiny。
断言错误:期望 63820056 字节,找到 63820060
任何人都可以帮助我们吗?

谢谢你的链接
顺便说一句,你想与我联系,以便我们可以在暗流方面互相帮助吗?

我对 yolo 有同样的错误,而不是 tiny-yolo,
尝试减少 cfg 文件中的宽度和高度。它为我解决了问题。
请记住,宽度和高度值应该是 32 的倍数

我遇到了同样的问题。 我用 3 个类修改了 yolov2.cfg,并使用 yolov2.weights 来训练我自己的数据集。
我尝试了这种方法https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file来解决问题。 但是,它不起作用。 我用偏移量 = 20,甚至偏移量 = 40 替换了偏移量 = 16。

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 not found,使用cfg/yolov2-3c。配置文件代替
cfg_path, FLAGS.model))
解析 cfg/yolov2-3c.cfg
正在加载 bin/yolov2.weights ...
回溯(最近一次调用最后一次):
文件“/home/zihang/anaconda3/envs/tensorflow/bin/flow”,第6行,在
cliHandler(sys.argv)
文件“/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py”,第26行,在cliHandler中
tfnet = TFNet(标志)
文件“/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py”,第58行,在__init__
暗网 = 暗网(标志)
文件“/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)文件“/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py”,第105行,在create_loader返回负载类型(路径,配置文件)文件“/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)
断言错误:期望 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(版本是2还是3不影响)安装了tensorflow.
2、darkflow要求的安装环境是Python3,那么把anaconda2里的Python2升级到python3.5就行,Ubuntu系统默认是自带python2.7的,在使用darkflow时,用source activate py35进入Python3.5环境再使用flow命令就行。
3、接下来,你可以在任何地方安装darkflow,但是要在py35环境下安装,换Python环境source activate py35,然后安装好你会看到darkflow的文件夹,这个文件夹没用,在安装darkflow的时候会自动拷贝到anaconda2/envs/py34/lib/python3.5/site-packages/darkflow/utils(我Python3.5命名的时候手抖,弄成了py34),要改的是上述目录下loader.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 从 1.0 降低到 0.8 并且工作正常! 谢谢@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 这是否意味着新的步行功能应该是:

定义步行(自我,大小):
if self.eof: 返回 None
end_point = self.offset + 4 * (44948600- 44948596 )
断言端点 <= self.size, \
'重读{}'.format(self.path)

那么我们应该删除 size 参数吗?

这是我的解决方案:

  1. pip 卸载暗流
  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..e2fdaea 100644
--- a/darkflow/utils/loader.py
+++ b/darkflow/utils/loader.py
@@ -118,7 +118,8 @@ 类 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 等级