Detectron: CPU- und reine Caffe2/C++-Inferenzunterstützung einschließlich mobiler Geräte (war "das Modell kann für Mobiltelefone wie Android verwendet werden?")

Erstellt am 24. Jan. 2018  ·  16Kommentare  ·  Quelle: facebookresearch/Detectron

das Modell kann für Handys wie Android verwendet werden

planned feature

Hilfreichster Kommentar

Wir planen, in Zukunft ein Konvertierungstool und Anweisungen zum Ausführen von Detectron-Modellen auf Mobiltelefonen bereitzustellen.

Alle 16 Kommentare

Wir planen, in Zukunft ein Konvertierungstool und Anweisungen zum Ausführen von Detectron-Modellen auf Mobiltelefonen bereitzustellen.

Beim Versuch, nur für CPU-Inferenz zu bauen, wurde caffe2 erfolgreich installiert. Das Ausführen von test_spatial_narrow_as_op.py schlägt aufgrund einer fehlenden GPU-Bibliothek fehl.

$ python ../tests/test_spatial_narrow_as_op.py
WARNUNG:root : Dieser Python-Lauf von caffe2 hat keine GPU-Unterstützung. Wird im Nur-CPU-Modus ausgeführt.
WARNUNG:root : Debug-Meldung: Kein Modul namens caffe2_pybind11_state_gpu
Traceback (letzter Anruf zuletzt):
Datei "../tests/test_spatial_narrow_as_op.py", Zeile 88, in
utils.c2.import_detectron_ops()
Datei "/home/user/Detectron/lib/utils/c2.py", Zeile 41, in import_detectron_ops
Detectron_ops_lib = envu.get_detectron_ops_lib()
Datei "/home/user/Detectron/lib/utils/env.py", Zeile 73, in get_detectron_ops_lib
'Version enthält Detectron-Modul').format(detectron_ops_lib)
AssertionError: Detectron ops lib nicht gefunden unter '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; Stellen Sie sicher, dass Ihre Caffe2-Version das Detectron-Modul enthält

@rbgirshick , Können wir ohne GPUs Rückschlüsse ziehen? Bekomme den gleichen Fehler wie

Beim Versuch, nur für CPU-Inferenz zu bauen, wurde caffe2 erfolgreich installiert. Das Ausführen von test_spatial_narrow_as_op.py schlägt aufgrund einer fehlenden GPU-Bibliothek fehl.

$ python ../tests/test_spatial_narrow_as_op.py
WARNUNG:root : Dieser Python-Lauf von caffe2 hat keine GPU-Unterstützung. Wird im Nur-CPU-Modus ausgeführt.
WARNUNG:root : Debug-Meldung: Kein Modul namens caffe2_pybind11_state_gpu
Traceback (letzter Anruf zuletzt):
Datei "../tests/test_spatial_narrow_as_op.py", Zeile 88, in
utils.c2.import_detectron_ops()
Datei "/home/user/Detectron/lib/utils/c2.py", Zeile 41, in import_detectron_ops
Detectron_ops_lib = envu.get_detectron_ops_lib()
Datei "/home/user/Detectron/lib/utils/env.py", Zeile 73, in get_detectron_ops_lib
'Version enthält Detectron-Modul').format(detectron_ops_lib)
AssertionError: Detectron ops lib nicht gefunden unter '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; Stellen Sie sicher, dass Ihre Caffe2-Version das Detectron-Modul enthält

Ich habe hier das gleiche Problem. Verwenden vorgefertigter Binärdateien auf dem Mac.

Stehe vor dem gleichen Problem. Habe versucht, caffe2 aus dem Quellcode zu erstellen sowie die vorgefertigten Binärdateien unter macOS zu verwenden.

Ich habe das gleiche Problem (siehe Fehlerprotokoll).

Mein Ziel: einen Test nur auf MacOs mit CPU laufen lassen.

Schritt: 1) installiere alle anderen Abhängigkeiten mit cond ;
2) installiere caffe2 mit conda.
3) installiere Detectron mit System pip(python), dann lege das lib-Verzeichnis in die PYTHONPATH-Variable.

Dann habe ich das gleiche Problem oben:

WARNUNG:root : Dieser Python-Lauf von caffe2 hat keine GPU-Unterstützung. Wird im Nur-CPU-Modus ausgeführt.
WARNUNG:root : Debug-Meldung: Kein Modul namens caffe2_pybind11_state_gpu
E0204 13:06:36.049393 2041434112 init_intrinsics_check.cc:54] Die CPU-Funktion avx ist auf Ihrem Computer vorhanden, aber die Caffe2-Binärdatei wird nicht damit kompiliert. Dies bedeutet, dass Sie möglicherweise nicht die volle Geschwindigkeit Ihrer CPU erhalten.
E0204 13:06:36.049954 2041434112 init_intrinsics_check.cc:54] Die CPU-Funktion avx2 ist auf Ihrem Computer vorhanden, aber die Caffe2-Binärdatei wird nicht damit kompiliert. Dies bedeutet, dass Sie möglicherweise nicht die volle Geschwindigkeit Ihrer CPU erhalten.
E0204 13:06:36.049964 2041434112 init_intrinsics_check.cc:54] Die CPU-Funktion fma ist auf Ihrem Computer vorhanden, aber die Caffe2-Binärdatei wird nicht damit kompiliert. Dies bedeutet, dass Sie möglicherweise nicht die volle Geschwindigkeit Ihrer CPU erhalten.
Traceback (letzter Anruf zuletzt):
Datei "/tmp/test_spatial_narrow_as_op.py", Zeile 88, in
utils.c2.import_detectron_ops()
Datei "/Users/wangy/python/detectron/lib/utils/c2.py", Zeile 41, in import_detectron_ops
Detectron_ops_lib = envu.get_detectron_ops_lib()
Datei "/Users/wangy/python/detectron/lib/utils/env.py", Zeile 73, in get_detectron_ops_lib
'Version enthält Detectron-Modul').format(detectron_ops_lib)
AssertionError: Detectron ops lib nicht gefunden unter '/Users/wangy/miniconda2/lib/python2.7/site-packages/lib/libcaffe2_detectron_ops_gpu.so';

@CancerGenome Das hat wahrscheinlich nichts mit dem tun . Sie müssen die Caffe2-Version mit Detectron als Modul installieren (wie in der INSTALL.md Anleitung beschrieben). Es finden sich hier

@ss32 Ich löse dieses Problem。Da auf meinem Computer caffe1 und caffe2 installiert wurden, kommentiere ich die Umgebungsvariable von caffe1, die die Variable PYTHONPATH ist. und fügen Sie die Umgebungsvariable von caffe2 hinzu. Schließlich habe ich Erfolg, tun Sie es einfach:
gedit ~/.bashrc
kommentiere das:

export PYTHONPATH=/pathto/caffe/python:$PYTHONPATH

füge das hinzu:
export PYTHONPATH=/path/to/caffe2/build:$PYTHONPATH

hoffe dir helfen! zum Glück~

HI @rbgirshick vor ungefähr drei Wochen verbrachte ich einen Sonntagnachmittag damit, caffe2 aus dem Quellcode auf einer Entwicklerbox mit einer 4Gb CUDA-fähigen GPU unter Ubuntu 16.04 zu installieren, in der Hoffnung, Feedforward auf einige größere Bilder, sagen wir 1920x1080 auf der CPU, durchführen zu können die Qualität der Maskierung. Aber ich stellte fest, dass ich an die einzige GPU-Bibliothek gebunden war:

lib/python2.7/site-packages/lib/libcaffe2_detectron_ops_gpu.so

Daher habe ich derzeit die Wahl, AWS Cloud Compute für die Maskierung zu verwenden oder neuere CUDA-fähige Hardware zu kaufen.

Haben Sie einen Zeitplan, über den Sie sprechen können, wann die reine CPU-Implementierung durchgeführt wird?

Caffe2 und Detectron auf meinem RaspberryPi installiert. Habe das gleiche Problem.

WARNUNG:root : Dieser Python-Lauf von caffe2 hat keine GPU-Unterstützung. Wird im Nur-CPU-Modus ausgeführt.
WARNUNG:root : Debug-Meldung: Kein Modul namens caffe2_pybind11_state_gpu
INFO:caffe2.python.net_drawer :Pydot kann nicht importiert werden, das zum Zeichnen eines Netzwerks erforderlich ist. Dies kann normalerweise in Python mit "pip install pydot" installiert werden. Außerdem benötigt pydot graphviz, um Punktdateien in PDF zu konvertieren: In Ubuntu kann dies normalerweise mit "sudo apt-get install graphviz" installiert werden.
net_drawer wird nicht korrekt ausgeführt. Bitte installieren Sie die richtigen Abhängigkeiten.
Traceback (letzter Anruf zuletzt):
Datei "test_spatial_narrow_as_op.py", Zeile 88, in
utils.c2.import_detectron_ops()
Datei "/home/pi/detectron/lib/utils/c2.py", Zeile 41, in import_detectron_ops
Detectron_ops_lib = envu.get_detectron_ops_lib()
Datei "/home/pi/detectron/lib/utils/env.py", Zeile 73, in get_detectron_ops_lib
'Version enthält Detectron-Modul').format(detectron_ops_lib)
AssertionError: Detectron ops lib nicht gefunden unter '/home/pi/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; Stellen Sie sicher, dass Ihre Caffe2-Version das Detectron-Modul enthält

Die gleiche Frage, ist die CPU-only-Inferenz möglich? Ich möchte Detectron testen, kann es aber nicht - mein Host-Betriebssystem ist Windows (Detectron unterstützt es meines Wissens nicht) und in VMs kann ich keine GPU verwenden.
Es sagt:

AssertionError: Detectron ops lib nicht gefunden; Stellen Sie sicher, dass Ihre Caffe2-Version das Detectron-Modul enthält

@all Bitte beachten Sie die Anmerkung in caffe2/modules/detectron/CMakeLists.txt

# Note(ilijar): Since Detectron ops currently have no
# CPU implementation, we only build GPU ops for now.

Das Detektormodul in caffe2 ist nur im GPU-Modus verfügbar!

Ich habe gerade die INSTALL.md erneut durchgesehen und im Abschnitt mit den Anmerkungen zu den Anforderungen steht eindeutig "Detectron hat derzeit keine CPU-Implementierungen".

Ich denke, #372 & #449 sind fertig, um den CPU-Teil des Problems zu lösen.
Wenn Sie also möchten, dass dies aufgenommen wird, denke ich, dass es den Prozess erleichtern könnte, den Betreuern zu helfen, diese beiden PR zu überprüfen (und sie auch positiv zu bewerten).

Wenn Sie an CPU-Unterstützung interessiert sind, können Sie uns helfen, diese bereitzustellen , indem Sie diese beiden Probleme positiv bewerten und sogar überprüfen : #372 & #449.

Ps: dies könnte auch für eine reine Caffe2/PyTorch-Inferenz helfen, aber in einer entfernteren Zukunft

@rbgirshick @gadcam Ist es derzeit nicht möglich, Detectron auf Android auszuführen?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen