Darkflow не может найти файл cfg и weights - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь настроить YOLO в активной среде на Windows-машине.Так как в Менеджере пакетов не доступны ни tenorflow, ни darkflow, я установил их через pip

pip install tensorflow

и после загрузки каталога darkflow из github и перехода к нему из командной строки 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 canopy command prompt

Так что же в принципе не так со всем этим?Я сделал какую-то ошибку в установке пакета?Пропустили где-нибудь добавлять пути?или я помещаю папку bin и cfg в неверное место?

1 Ответ

0 голосов
/ 26 сентября 2018

Похоже, что код предполагает, что он работает в том же каталоге, что и ваш скрипт.Это не может быть предположено.Вы можете либо изменить рабочий каталог в приглашении ipython в редакторе Canopy, либо настроить Canopy, чтобы он делал это автоматически.См. Документы Canopy: https://docs.enthought.com/canopy/2.1/quick-start/code_editor.html#change-directory

...