Darkflow: Нет модуля с именем cy_yolo_findboxes

Созданный на 16 апр. 2017  ·  38Комментарии  ·  Источник: thtrieu/darkflow

когда я запускаю демо, показывает это

darkflow/net/yolo/test.py", строка 6, в
из cython_utils.cy_yolo_findboxes импортировать yolo_box_constructor

Самый полезный комментарий

Вы построили модуль cython с помощью

cd ./cython_utils
python3 setup.py build_ext --inplace
cd ..

Все 38 Комментарий

Вы построили модуль cython с помощью

cd ./cython_utils
python3 setup.py build_ext --inplace
cd ..

Это только для Python 3, я видел в одном из вопросов, который кто-то сказал о запуске его на Python 2.7.
https://github.com/thtrieu/darkflow/issues/18
могу ли я запустить этот darkflow в python2.7. Отличный порт, но хорошо работает с python3, есть ли какие-либо оптимальные системные требования для этого.
Спасибо.

Такая же проблема возникла у меня. Кто-нибудь решил это? Я попробовал это на двух ПК и собрал модуль cython, но это произошло снова.

@lesthad666
Я думаю, что пришло время закрыть эту проблему, если вы решили ее. Это моя ситуация и решение:
Как сказал @abagshaw , построил модуль cython с
`
компакт-диск ./cython_utils

python3 setup.py build_ext --inplace

компакт диск ..
`
Затем обратите внимание на файл «flow», откройте этот файл и измените «#! /usr/bin/env python» на «#! /usr/bin/env python3», все будет работать нормально.

Здесь мне помогло выполнение с помощью python3. Затем для python3 также необходимо установить tensorflow и opencv-python.

Небольшая коррекция opencv-python в конечном итоге выдаст ошибку при попытке получить ввод с камеры из-за ее имитации. Пытаюсь найти обходной путь.

Такая же проблема возникла у меня.
В моем случае добавлено import pyximport; pyximport.install() в строку 7 darkflow/net/yolo/test.py.
Мое решение состоит в том, чтобы напрямую импортировать cy_yolo_findboxes.pyx.

Это происходит со мной, когда я делаю

git clone https://github.com/thtrieu/darkflow.git
cd darkflow
pip install .

а потом

./flow3 --model bin/yolo.cfg --load bin/yolo.weights --demo samples/video_1.avi --gpu 0.5 --saveVideo
Traceback (most recent call last):
  File "./yolo", line 3, in <module>
    from darkflow.net.build import TFNet
  File "/darkflow/darkflow/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/darkflow/darkflow/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/darkflow/darkflow/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import test
  File "/darkflow/darkflow/darkflow/net/yolo/test.py", line 6, in <module>
    from darkflow.cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named 'darkflow.cython_utils.cy_yolo_findboxes'

где flow3 имеет модифицированный шебанг #! /usr/bin/env python3

при этом делать с Cython у меня вообще не получается заканчивая на

cd darkflow/
python3 setup.py build_ext --inplace
Traceback (most recent call last):
  File "setup.py", line 3, in <module>
    from Cython.Build import cythonize
ImportError: No module named 'Cython'

вы можете установить cython, набрав в своем терминале:

sudo apt-get установить cython3

У меня была эта проблема с использованием метода установки pip/pip3. использование Setup.py сработало.

Кажется, все проблемы решены.

Я столкнулся с той же проблемой при запуске

git clone https://github.com/thtrieu/darkflow.git
cd darkflow
python3.5 setup.py build_ext --inplace

Это вывод ./flow --h

$ ./flow
Traceback (most recent call last):
  File "./flow", line 4, in <module>
    from darkflow.cli import cliHandler
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/cli.py", line 3, in <module>
    from darkflow.net.build import TFNet
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import predict
  File "/mnt/hdd3t/Data/hci2/borinyun/darkflow/darkflow/net/yolo/predict.py", line 6, in <module>
    from darkflow.cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named cy_yolo_findboxes

и это результат "потока"

$ flow --h
No command 'flow' found, did you mean:
 Command 'flog' from package 'flog' (universe)
 Command 'cflow' from package 'cflow' (universe)
 Command 'flow6' from package 'ipv6toolkit' (universe)
flow: command not found

@ benn94 benn94 Первая проблема ImportError: No module named cy_yolo_findboxes действительно является ошибкой, я считаю. Уже есть открытый PR для решения этой проблемы (https://github.com/thtrieu/darkflow/pull/273). Я считаю, что проблема вызвана тем, что все пути импорта напрямую связаны с darkflow вместо использования относительные пути. Если darkflow установлен глобально с использованием одного из двух других вариантов, использующих pip (изложенных здесь ), тогда он работает нормально, но если он не установлен глобально, то этот импорт завершится ошибкой. PR делает этот импорт относительным, поэтому он должен работать независимо от того, установлен ли darkflow глобально. Поэтому, чтобы временно решить вашу проблему, попробуйте выполнить установку, используя один из вариантов, использующих pip , пока этот PR не будет объединен.

Что касается вашей второй проблемы, flow не будет работать, если вы не установите darkflow глобально. Это не ошибка — это нормально, так как сборка расширений Cython не устанавливает darkflow , как это делает pip install . , поэтому вы не сможете получить глобальный доступ к flow , вы придется использовать ./flow в папке darkflow .

@abagshaw спасибо. Я обнаружил, что это проблема версии Python. Я мог бы запустить команду flow , просто указав версию моего python, и вместо запуска ./flow она работает, просто запустив flow

python3.5 flow --h

У меня такая же проблема, как у @benn94

Traceback (most recent call last):
  File "./flow", line 4, in <module>
    from darkflow.cli import cliHandler
  File "/home/kadia/Documents/darkflow-master/darkflow/cli.py", line 3, in <module>
    from .net.build import TFNet
  File "/home/kadia/Documents/darkflow-master/darkflow/net/build.py", line 7, in <module>
    from .framework import create_framework
  File "/home/kadia/Documents/darkflow-master/darkflow/net/framework.py", line 1, in <module>
    from . import yolo
  File "/home/kadia/Documents/darkflow-master/darkflow/net/yolo/__init__.py", line 2, in <module>
    from . import predict
  File "/home/kadia/Documents/darkflow-master/darkflow/net/yolo/predict.py", line 7, in <module>
    from ...cython_utils.cy_yolo_findboxes import yolo_box_constructor
ImportError: No module named cy_yolo_findboxes

Я столкнулся с той же проблемой ImportError: No module named 'darkflow.cython_utils.cy_yolo_findboxes' , когда пытался запустить пример кода в разделе «Использование темного потока из другого приложения Python».
Я использую python 3 в среде Anaconda и глобально установил darkflow с помощью pip install .

Я хотел бы попробовать предложенное решение: python3 setup.py build_ext --inplace , но я не вижу никаких setup.py в cython_utils . Я что-то пропустил?

Та же проблема, что и у @stesalati . В cython_utils нет setup.py cython_utils .

Выполняя из Windows 10 "поток python --model cfg/yolo.cfg --load bin/yolo.weights --demo E:\image\photos\abrilsss.wmv --gpu 1.0", я получаю ту же ошибку:
"ImportError: нет модуля с именем" darkflow.cython_utils.cy_yolo_findboxes"
Я не знаю, как продолжить, потому что setup.py отсутствует в cython_utils.

@clitenmestra выполнить python setup.py build_ext в каталоге darkflow. Он создает файл cython_utils.

(tensorflow) F:\tut-tf\darkflow>python setup.py build_ext
running build_ext
error: [WinError 2] El sistema no puede encontrar el archivo especificado``

нет файла с именем build_ext . Должен ли я скачать этот файл? куда?

@clitenmestra Вы установили cython?

Да, у меня есть cython и следующий код запускается.

import cython
cython.__version__

«0,25,2»

@клитенместра

(ML) E:\AkashJ\projects\darkflow - Copy>python setup.py build_ext --inplace
running build_ext
copying build\lib.win-amd64-3.5\darkflow\cython_utils\nms.cp35-win_amd64.pyd -> darkflow\cython_utils
copying build\lib.win-amd64-3.5\darkflow\cython_utils\cy_yolo2_findboxes.cp35-win_amd64.pyd -> darkflow\cython_utils
copying build\lib.win-amd64-3.5\darkflow\cython_utils\cy_yolo_findboxes.cp35-win_amd64.pyd -> darkflow\cython_utils

Это работает, что вы использовали pip или conda для установки cython, numpy, mkl?
Я использовал --inplace , потому что у меня уже есть cython_utils в моей системе, --inplace будет собираться только для этого конкретного каталога, если вы собираете всю систему, вам не нужно использовать --inplace .

Переводя ошибку, она говорит The system can not find the specified file. , поэтому это не означает there is not a file named build_ext , как вы упомянули.

Тот же ответ с использованием --inplace

(tensorflow) F: \ tut-tf \ darkflow> python setup.py build_ext --inplace
running build_ext
error: [WinError 2] The system can not find the specified file

Я использовал anaconda для установки большинства пакетов.

Прочитав в вашем ответе, что была сделана копия трех файлов, я нашел их в ANACONDA site_packages darkflow на своем компьютере и скопировал их в cython_utils в своем проекте. Отсюда с некоторой коррекцией местоположения файла команда отлично работает с использованием графического процессора.
Я пойду глубже, чтобы выяснить причины моей плохой установки.
Спасибо за интерес.

У меня тоже была проблема. И я обнаружил, что мой тензорный поток работает в virtualenv python2.7.

Изменение virtualenv на python3 может решить эту проблему.
Установка тензорного потока с помощью virtualenv

Я все еще получаю эту ошибку, когда использую Pycharm для выполнения некоторого кода
Вот что я получил, любая помощь будет оценена. Узел: я сделал python3 setup.py build_ext --inplace. Все файлы, такие как cy_yolo_findboxes.c и cy_yolo2_findboxes, находятся в папке cython_utils. Но это не может работать.
screen shot 2018-01-31 at 11 46 15 pm

У меня такая же ошибка, как у liuhantao9. Файл есть, и я даже добавил sys.path.append в нужное место. Но выдает ту же ошибку, есть идеи?

Ошибка произошла со мной из-за версии Python, я понизил версию Python с 3.6 до 3.5 и решил всю проблему.

поток python3 --h
Traceback (последний последний вызов):
Файл "поток", строка 4, в
из darkflow.cli импортировать cliHandler
Файл "/home/kirubel/YOLO_Object_Detection/darkflow/cli.py", строка 3, в
из .net.build импортировать TFNet
Файл "/home/kirubel/YOLO_Object_Detection/darkflow/net/build.py", строка 3, в
от . помощь по импорту
Файл "/home/kirubel/YOLO_Object_Detection/darkflow/net/help.py", строка 9, в
импорт cv2
ImportError: нет модуля с именем «cv2»

Значит, это не работает для python2.7?

И ссылка на рекомендации по установке darkflow по всему миру мертва. Как установить darkflow глобально?

Мне пришлось запустить следующие команды, чтобы решить эту проблему:

sudo pip3 install opencv-python
sudo pip3 install tensorflow

cd darkflow-мастер
setup.py build_ext --inplace

Сделанный!

Для меня это было решено запуском кода вне каталога darkflow. python3 импортировал библиотеки из локального каталога, которые содержали предварительно созданные модули pyx (cython).

из каталога темного потока:

python3 -c "из darkflow.net.build импортировать TFNet"
ModuleNotFoundError: нет модуля с именем «darkflow.cython_utils.cy_yolo_findboxes»

компакт диск ../
python3 -c "из darkflow.net.build импортировать TFNet"
[успех]

Кажется, все проблемы решены.

Все проблемы конечно не решены.

Для меня решение простое. Посмотрите (отредактируйте) файл "flow". Первая строка пытается вызвать «python». В моей конфигурации по умолчанию «python» означает «python2». Поэтому я просто изменил его на «python3» вместо «python», и он работает как шарм.

Я использовал блокнот jupyter, но он не использовал мои библиотеки anaconda, поэтому я переключился на командную строку и выполнил следующее:

  1. pip uninstall darkflow тогда

  2. pip install -e .

И ошибка исчезла.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги