Wenn ich die Demo ausführe, wird dies angezeigt
darkflow/net/yolo/test.py", Zeile 6, in
aus cython_utils.cy_yolo_findboxes import yolo_box_constructor
Hast du das Cython-Modul mit gebaut
cd ./cython_utils
python3 setup.py build_ext --inplace
cd ..
Ist dies nur für Python 3, habe ich in einem der Probleme gesehen, die jemand über die Ausführung auf Python 2.7 gesagt hat.
https://github.com/thtrieu/darkflow/issues/18
kann ich diesen darkflow in python2.7.Great port ausführen, funktioniert gut mit python3, gibt es dafür optimale systemanforderungen.
Danke.
Bei mir ist das gleiche Problem aufgetreten. Hat es jemand gelöst? Ich habe es auf zwei PCs versucht und das Cython-Modul gebaut, aber es ist wieder passiert.
@lesthad666
Ich denke, es ist an der Zeit, dieses Problem jetzt zu schließen, wenn Sie es gelöst haben. Das ist meine Situation und Lösung:
Genau wie @abagshaw sagte, baute das Cython-Modul mit
`
cd ./cython_utils
python3 setup.py build_ext --inplace
CD ..
`
Achten Sie dann auf die Datei "flow", öffnen Sie diese Datei und ändern Sie "#! /usr/bin/env python" in "#! /usr/bin/env python3" , es wird gut funktionieren.
Das Ausführen mit python3 hat mir hier geholfen. Dies erfordert dann, dass tensorflow und opencv-python auch für python3 installiert sind.
Kleine Korrektur opencv-python
wird schließlich werfen, wenn versucht wird, Kameraeingaben aufgrund seiner Imitationen zu erhalten. Versuche einen Workaround zu finden.
Bei mir ist das gleiche Problem aufgetreten.
In meinem Fall wurde import pyximport; pyximport.install()
zu darkflow/net/yolo/test.py Zeile 7 hinzugefügt.
Meine Lösung ist, cy_yolo_findboxes.pyx direkt zu importieren.
Das passiert mir dabei
git clone https://github.com/thtrieu/darkflow.git
cd darkflow
pip install .
und dann
./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'
wo flow3
einen modifizierten Shebang #! /usr/bin/env python3
hat
während ich mit Cython
arbeite, funktioniert es überhaupt nicht, mit zu enden
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'
Sie können Cython installieren, indem Sie Folgendes in Ihr Terminal eingeben:
sudo apt-get install cython3
Ich hatte dieses Problem mit der Pip / Pip3-Installationsmethode. die Verwendung von Setup.py hat funktioniert.
Scheint, dass alle Probleme gelöst sind.
Ich habe das gleiche Problem beim Laufen festgestellt
git clone https://github.com/thtrieu/darkflow.git
cd darkflow
python3.5 setup.py build_ext --inplace
Dies ist die Ausgabe von ./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
und das ist die Ausgabe von "flow"
$ 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 Das erste Problem ImportError: No module named cy_yolo_findboxes
ist in der Tat ein Fehler, glaube ich. Es gibt bereits eine offene PR, um das Problem zu beheben (https://github.com/thtrieu/darkflow/pull/273) - Ich glaube, das Problem wird dadurch verursacht, dass alle Importpfade direkt von darkflow
stammen, anstatt sie zu verwenden relative Pfade. Wenn darkflow
global mit einer der anderen beiden Optionen installiert wird, die pip
verwenden ( hier beschrieben), dann funktioniert es einwandfrei, aber wenn es nicht global installiert ist, schlagen diese Importe fehl. Die PR macht diese Importe relativ, sodass sie funktionieren sollten, unabhängig davon, ob darkflow
global installiert ist oder nicht. Um Ihr Problem vorübergehend zu lösen, versuchen Sie die Installation mit einer der Optionen, die pip
verwenden, bis dieser PR zusammengeführt wird.
In Bezug auf Ihr zweites Problem wird flow
nicht funktionieren, es sei denn, Sie installieren darkflow
global. Das ist kein Fehler - das ist normal, da beim Erstellen der Cython-Erweiterungen nicht darkflow
wie pip install .
installiert wird, sodass Sie nicht global auf flow
zugreifen können. Sie müssen ./flow
verwenden, wenn Sie sich im Ordner darkflow
befinden.
@abagshaw danke. Ich habe festgestellt, dass es sich um das Problem der Python-Version handelt. Ich könnte den Befehl flow
ausführen, indem ich einfach die Version meiner Python angeben und anstatt ./flow
auszuführen, funktioniert es, indem ich einfach flow
ausführe
python3.5 flow --h
Ich habe ein ähnliches Problem wie @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
Ich bin auf das gleiche Problem gestoßen ImportError: No module named 'darkflow.cython_utils.cy_yolo_findboxes'
, als ich versuche, den Beispielcode in "Using darkflow from another python application" auszuführen.
Ich verwende Python 3 in einer Anaconda-Umgebung und habe Darkflow global mit pip install installiert.
Ich würde gerne die vorgeschlagene Lösung ausprobieren: python3 setup.py build_ext --inplace
, aber ich sehe keine setup.py
in cython_utils
. Übersehe ich etwas?
Gleiches Problem wie bei @stesalati . Es gibt kein setup.py
in cython_utils
.
Beim Ausführen von Windows 10 "python flow --model cfg / yolo.cfg --load bin / yolo.weights --demo E: \ image \ photos \ abrilsss.wmv --gpu 1.0" erhalte ich denselben Fehler:
„ImportError: Kein Modul namens ‚darkflow.cython_utils.cy_yolo_findboxes‘“
Ich weiß nicht, wie ich fortfahren soll, weil setup.py nicht in cython_utils ist.
@clitenmestra führt python setup.py build_ext
im Darkflow-Verzeichnis aus. Es baut die 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``
Es gibt keine Datei namens build_ext . Muss ich diese Datei herunterladen? wo?
@clitenmestra Hast du Cython installiert?
Ja, ich habe Cython und den nächsten Code ausgeführt.
import cython
cython.__version__
'0.25.2'
@klientenmestra
(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
Es funktioniert, was hast du pip
oder conda
verwendet, um cython, numpy, mkl zu installieren?
Ich habe --inplace
verwendet, weil ich bereits cython_utils in meinem System habe, --inplace
wird nur für dieses bestimmte Verzeichnis erstellt, wenn Sie für das gesamte System erstellen, müssen Sie --inplace
nicht verwenden
Um den Fehler zu übersetzen, heißt es The system can not find the specified file.
, also bedeutet es nicht there is not a file named build_ext
, wie Sie erwähnt haben.
Dieselbe Antwort mit --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
Ich habe Anaconda für die Installation der meisten Pakete verwendet.
Nachdem ich in Ihrer Antwort gelesen habe, dass eine Kopie von drei Dateien erstellt wurde, habe ich sie in ANACONDA site_packages darkflow auf meinem Computer gefunden und sie in cython_utils in meinem Projekt kopiert. Von hier aus funktioniert der Befehl mit einer Korrektur des Dateispeicherorts problemlos mit der GPU.
Ich werde tiefer gehen, um die Ursachen meiner schlechten Installation herauszufinden.
Danke für Ihr Interesse.
Ich hatte das Problem auch. Und ich fand heraus, dass mein Tensorflow in virtualenv von Python2.7 lief.
Ändern Sie die virtuelle Umgebung in Python3, um dies zu lösen.
Tensorflow mit virtualenv installieren
Ich erhalte diesen Fehler immer noch, wenn ich Pycharm verwende, um Code auszuführen
Hier ist, was ich habe, jede Hilfe wird geschätzt. Knoten: Ich habe python3 setup.py build_ext --inplace ausgeführt. Alle Dateien wie cy_yolo_findboxes.c und cy_yolo2_findboxes befinden sich alle im Ordner cython_utils. Aber es kann nicht funktionieren.
Ich habe den gleichen Fehler wie liuhantao9. Die Datei ist da, und ich habe sogar sys.path.append an der richtigen Stelle hinzugefügt. Aber es wirft den gleichen Fehler, irgendwelche Ideen?
Der Fehler trat bei mir auf, weil die Version von Python, ich die Python von 3.6 auf 3.5 heruntergestuft und das ganze Problem gelöst habe.
python3-Flow --h
Traceback (letzter Aufruf zuletzt):
Datei "flow", Zeile 4, in
aus darkflow.cli import cliHandler
Datei "/home/kirubel/YOLO_Object_Detection/darkflow/cli.py", Zeile 3, in
aus .net.build importieren Sie TFNet
Datei "/home/kirubel/YOLO_Object_Detection/darkflow/net/build.py", Zeile 3, in
von . Importhilfe
Datei "/home/kirubel/YOLO_Object_Detection/darkflow/net/help.py", Zeile 9, in
cv2 importieren
ImportError: Kein Modul namens 'cv2'
Das funktioniert also nicht für Python2.7?
Und der Link zu Richtlinien für die globale Installation von Darkflow ist tot. Wie installiere ich Darkflow global?
Ich musste die folgenden Befehle ausführen, um dieses Problem zu lösen:
sudo pip3 install opencv-python
sudo pip3 install tensorflow
cd darkflow-master
setup.py build_ext --inplace
Getan!
Für mich wurde dies gelöst, indem Code außerhalb des Darkflow-Verzeichnisses ausgeführt wurde. python3 importierte Bibliotheken aus dem lokalen Verzeichnis, das vorgefertigte pyx (cython)-Module enthielt.
aus dem Darkflow-Verzeichnis:
python3 -c "from darkflow.net.build import TFNet"
ModuleNotFoundError: Kein Modul namens „darkflow.cython_utils.cy_yolo_findboxes“
CD ../
python3 -c "from darkflow.net.build import TFNet"
[Erfolg]
Scheint, dass alle Probleme gelöst sind.
Alle Probleme sind sicherlich nicht gelöst.
Für mich ist die Lösung einfach. Betrachten (bearbeiten) Sie die Datei "flow". Die erste Zeile versucht, "python" aufzurufen. In meiner Standardkonfiguration bedeutet "python" "python2". Also habe ich es einfach in "python3" geändert, anstatt nur in "python", und es funktioniert wie ein Zauber.
Ich habe Jupyter Notebook verwendet, aber es hat meine Anaconda-Bibliotheken nicht verwendet, also habe ich zur Eingabeaufforderung gewechselt und Folgendes ausgeführt:
pip uninstall darkflow
dann
pip install -e .
Und der Fehler war weg.
Hilfreichster Kommentar
Hast du das Cython-Modul mit gebaut