Darkflow: Kein Modul namens cy_yolo_findboxes

Erstellt am 16. Apr. 2017  ·  38Kommentare  ·  Quelle: thtrieu/darkflow

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

Hilfreichster Kommentar

Hast du das Cython-Modul mit gebaut

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

Alle 38 Kommentare

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.
screen shot 2018-01-31 at 11 46 15 pm

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:

  1. pip uninstall darkflow dann

  2. pip install -e .

Und der Fehler war weg.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

hrshovon picture hrshovon  ·  5Kommentare

ShawnDing1994 picture ShawnDing1994  ·  4Kommentare

ma3252788 picture ma3252788  ·  3Kommentare

ManojPabani picture ManojPabani  ·  4Kommentare

humanova picture humanova  ·  4Kommentare