1

我正在尝试在 Windows 机器上的精心设计的机盖环境中设置 YOLO。由于 tensorflow 和 darkflow 在包管理器上似乎都不可用,我通过 pip 安装了它们

pip install tensorflow

从github下载darkflow目录并从canopy命令提示符导航到它

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 

我尝试将 bin 和 cfg 文件夹从我提取 darkflow 的原始目录复制到 site-packages/darkflow 文件夹:

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

但这似乎也不起作用。具有讽刺意味的是,通过 canopy 命令提示符在 python 控制台中工作得非常好 天篷命令提示符

那么这一切基本上有什么问题呢?我在安装包时犯了一些错误吗?错过了在某处添加路径?或者我将 bin 和 cfg 文件夹放置在不正确的位置?

4

1 回答 1

1

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

于 2018-09-26T20:09:17.617 回答