我正在尝试将YOLO设置在windows机器上的enthought环境中。由于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但这似乎也行不通。具有讽刺意味的是,这在python控制台中通过canopy命令提示符运行得非常好。

那么,这一切基本上有什么问题呢?我是不是在安装包的时候弄错了?是否错过了添加路径?或者我把bin和cfg文件夹放在了错误的位置?
发布于 2018-09-27 04:09:18
听起来可能代码假设它运行在与脚本相同的目录中。这是不能假设的。可以在Canopy编辑器中的ipython提示下更改工作目录,也可以将Canopy配置为自动执行此操作。请参阅树冠文档:https://docs.enthought.com/canopy/2.1/quick-start/code_editor.html#change-directory
https://stackoverflow.com/questions/52470277
复制相似问题