Darkflow无法找到cfg和权重文件

时间:2018-09-23 21:10:00

标签: python tensorflow canopy darkflow

我正在尝试在Windows机器上经过考虑的顶篷环境中设置YOLO。由于tensorflow和darkflow似乎在软件包管理器上均不可用,因此我通过pip安装了它们

pip install tensorflow

,然后从github下载darkflow目录,并从冠层命令提示符导航到该目录

pip install .

然后

python setup.py build_ext --inplace

用于设置cython_utils。现在,命令行演示似乎可以正常工作

python flow --model cfg/yolo.cfg --load bin/yolo.weights --demo videofile.mp4 --saveVideo 

但是当我尝试在机盖编辑器中运行以下命令时:

from darkflow.net.build import TFNet
option = {'model': 'cfg/yolo.cfg', 'load': 'bin/yolo.weights', 'threshold': 0.3}
tfnet = TFNet(option)

它抛出了这个错误:

AssertionError                            Traceback (most recent call last)
c:\users\umair\appdata\local\temp\tmp9n4e92.py in <module>()
      4 option = {'model': 'cfg/yolo.cfg', 'load': 'bin/yolo.weights', 'threshold': 0.3}
      5 
----> 6 tfnet = TFNet(option)

C:\Users\umair\AppData\Local\Enthought\Canopy\edm\envs\User\lib\site-packages\darkflow\net\build.py in __init__(self, FLAGS, darknet)
     56 
     57                 if darknet is None:
---> 58                         darknet = Darknet(FLAGS)
     59                         self.ntrain = len(darknet.layers)
     60 
C:\Users\umair\AppData\Local\Enthought\Canopy\edm\envs\User\lib\site-packages\darkflow\dark\darknet.py in __init__(self, FLAGS)
     11 
     12     def __init__(self, FLAGS):
---> 13         self.get_weight_src(FLAGS)
     14         self.modify = False
     15 
C:\Users\umair\AppData\Local\Enthought\Canopy\edm\envs\User\lib\site-packages\darkflow\dark\darknet.py in get_weight_src(self, FLAGS)
     45         else:
     46             assert os.path.isfile(FLAGS.load), \
---> 47             '{} not found'.format(FLAGS.load)
     48             self.src_bin = FLAGS.load
     49             name = loader.model_name(FLAGS.load)
AssertionError: bin/yolo.weights not found 

我尝试将我的Darkflow提取源中的bin和cfg文件夹复制到site-packages / darkflow文件夹中:

C:\Users\umair\AppData\Local\Enthought\Canopy\edm\envs\User\Lib\site-packages\darkflow

,但这似乎也不起作用。具有讽刺意味的是,通过冠层命令提示符,它在python控制台中可以正常工作 canopy command prompt

那么这一切到底有什么问题?我在安装软件包时犯了一些错误吗?错过了在某处添加路径的方法?还是我将bin和cfg文件夹放置在错误的位置?

1 个答案:

答案 0 :(得分:0)

听起来像代码在假定它与脚本在同一目录中运行。这不能被假定。您可以在Canopy编辑器中的ipython提示符下更改工作目录,也可以将Canopy配置为自动执行此操作。请参阅Canopy文档:https://docs.enthought.com/canopy/2.1/quick-start/code_editor.html#change-directory