Detectron: Prise en charge de l'inférence CPU et Caffe2 / C++ pure, y compris les appareils mobiles (était "le modèle peut être utilisé pour un téléphone mobile comme Android ?")

Créé le 24 janv. 2018  ·  16Commentaires  ·  Source: facebookresearch/Detectron

le modèle peut être utilisé pour un téléphone mobile comme Android

planned feature

Commentaire le plus utile

Nous prévoyons de fournir un outil de conversion et des instructions sur la façon d'exécuter les modèles Detectron sur les téléphones portables à l'avenir.

Tous les 16 commentaires

Nous prévoyons de fournir un outil de conversion et des instructions sur la façon d'exécuter les modèles Detectron sur les téléphones portables à l'avenir.

Tentative de construction pour l'inférence CPU uniquement, caffe2 s'est installé avec succès. L'exécution de test_spatial_narrow_as_op.py échoue en raison d'une bibliothèque GPU manquante.

$ python ../tests/test_spatial_narrow_as_op.py
AVERTISSEMENT : root : cette exécution de python caffe2 n'a pas de support GPU. Fonctionnera en mode CPU uniquement.
AVERTISSEMENT : root : message de débogage : aucun module nommé caffe2_pybind11_state_gpu
Traceback (appel le plus récent en dernier) :
Fichier "../tests/test_spatial_narrow_as_op.py", ligne 88, dans
utils.c2.import_detectron_ops()
Fichier "/home/user/Detectron/lib/utils/c2.py", ligne 41, dans import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib()
Fichier "/home/user/Detectron/lib/utils/env.py", ligne 73, dans get_detectron_ops_lib
'la version comprend le module Detectron').format(detectron_ops_lib)
AssertionError : Detectron ops lib introuvable dans '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' ; assurez-vous que votre version Caffe2 comprend le module Detectron

@rbgirshick , Pouvons-nous faire des inférences sans GPU ? Obtenir la même erreur que @ss32

Tentative de construction pour l'inférence CPU uniquement, caffe2 s'est installé avec succès. L'exécution de test_spatial_narrow_as_op.py échoue en raison d'une bibliothèque GPU manquante.

$ python ../tests/test_spatial_narrow_as_op.py
AVERTISSEMENT : root : cette exécution de python caffe2 n'a pas de support GPU. Fonctionnera en mode CPU uniquement.
AVERTISSEMENT : root : message de débogage : aucun module nommé caffe2_pybind11_state_gpu
Traceback (appel le plus récent en dernier) :
Fichier "../tests/test_spatial_narrow_as_op.py", ligne 88, dans
utils.c2.import_detectron_ops()
Fichier "/home/user/Detectron/lib/utils/c2.py", ligne 41, dans import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib()
Fichier "/home/user/Detectron/lib/utils/env.py", ligne 73, dans get_detectron_ops_lib
'la version comprend le module Detectron').format(detectron_ops_lib)
AssertionError : Detectron ops lib introuvable dans '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' ; assurez-vous que votre version Caffe2 comprend le module Detectron

J'ai le même problème ici. Utilisation de binaires pré-construits sur Mac.

Face au même problème. J'ai essayé de construire caffe2 à partir de la source ainsi qu'en utilisant les binaires pré-construits sur macOS.

J'ai le même problème (voir le journal des erreurs).

Mon objectif : faire tourner un test sur MacOs avec CPU uniquement.

Étape : 1) installez toutes les autres dépendances avec cond ;
2) installer caffe2 avec conda.
3) installez detectron avec le système pip (python), puis placez le répertoire lib dans la variable PYTHONPATH.

Ensuite, j'ai le même problème ci-dessus:

AVERTISSEMENT : root : cette exécution de python caffe2 n'a pas de support GPU. Fonctionnera en mode CPU uniquement.
AVERTISSEMENT : root : message de débogage : aucun module nommé caffe2_pybind11_state_gpu
E0204 13:06:36.049393 2041434112 init_intrinsics_check.cc:54] La fonction CPU avx est présente sur votre machine, mais le binaire Caffe2 n'est pas compilé avec. Cela signifie que vous n'obtiendrez peut-être pas la pleine vitesse de votre processeur.
E0204 13:06:36.049954 2041434112 init_intrinsics_check.cc:54] La fonction CPU avx2 est présente sur votre machine, mais le binaire Caffe2 n'est pas compilé avec. Cela signifie que vous n'obtiendrez peut-être pas la pleine vitesse de votre processeur.
E0204 13:06:36.049964 2041434112 init_intrinsics_check.cc:54] La fonction CPU fma est présente sur votre machine, mais le binaire Caffe2 n'est pas compilé avec. Cela signifie que vous n'obtiendrez peut-être pas la pleine vitesse de votre processeur.
Traceback (appel le plus récent en dernier) :
Fichier "/tmp/test_spatial_narrow_as_op.py", ligne 88, dans
utils.c2.import_detectron_ops()
Fichier "/Users/wangy/python/detectron/lib/utils/c2.py", ligne 41, dans import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib()
Fichier "/Users/wangy/python/detectron/lib/utils/env.py", ligne 73, dans get_detectron_ops_lib
'la version comprend le module Detectron').format(detectron_ops_lib)
AssertionError : Detectron ops lib introuvable dans '/Users/wangy/miniconda2/lib/python2.7/site-packages/lib/libcaffe2_detectron_ops_gpu.so' ;

@CancerGenome Cela n'est probablement pas lié au problème du GPU uniquement. Vous devez installer la version Caffe2 avec detectron comme module (comme indiqué dans les instructions INSTALL.md ). Il peut être trouvé ici

@ ss32 je résous ce problème。En
gedit ~/.bashrc
commente ceci :

export PYTHONPATH=/chemin vers/caffe/python:$PYTHONPATH

Ajoute ça:
export PYTHONPATH=/chemin/vers/caffe2/build:$PYTHONPATH

j'espère vous aider ! heureusement ~

HI @rbgirshick il y a environ trois semaines, j'ai passé un dimanche après-midi à installer caffe2 à partir de la source sur une boîte de développement avec un GPU 4 Go compatible CUDA sur Ubuntu 16.04 avec l'espoir de pouvoir faire du feedforward sur des images plus grandes, disons 1920x1080 sur le CPU pour voir la qualité du masquage. Mais j'ai découvert que j'étais lié à la bibliothèque GPU uniquement :

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

Il me reste donc actuellement le choix d'utiliser AWS Cloud Compute pour faire le masquage ou d'acheter du matériel compatible CUDA plus récent.

Avez-vous un calendrier pour parler du moment où la mise en œuvre du processeur uniquement serait effectuée ?

Installé caffe2 et Detectron sur mon RaspberryPi. Avoir le même problème.

AVERTISSEMENT : root : cette exécution de python caffe2 n'a pas de support GPU. Fonctionnera en mode CPU uniquement.
AVERTISSEMENT : root : message de débogage : aucun module nommé caffe2_pybind11_state_gpu
INFO:caffe2.python.net_drawer :Impossible d'importer pydot, qui est requis pour dessiner un réseau. Cela peut généralement être installé en python avec "pip install pydot". De plus, pydot nécessite graphviz pour convertir les fichiers dot en pdf : dans Ubuntu, cela peut généralement être installé avec « sudo apt-get install graphviz ».
net_drawer ne fonctionnera pas correctement. Veuillez installer les bonnes dépendances.
Traceback (appel le plus récent en dernier) :
Fichier "test_spatial_narrow_as_op.py", ligne 88, dans
utils.c2.import_detectron_ops()
Fichier "/home/pi/detectron/lib/utils/c2.py", ligne 41, dans import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib()
Fichier "/home/pi/detectron/lib/utils/env.py", ligne 73, dans get_detectron_ops_lib
'la version comprend le module Detectron').format(detectron_ops_lib)
AssertionError : Detectron ops lib introuvable dans '/home/pi/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' ; assurez-vous que votre version Caffe2 comprend le module Detectron

La même question, l'inférence CPU uniquement est-elle possible ? Je veux tester Detectron mais je ne peux pas le faire - mon système d'exploitation hôte est Windows (d'après ce que je comprends, Detectron ne le prend pas en charge) et dans les machines virtuelles, je ne peux pas utiliser le GPU.
Ça dit:

AssertionError : Detectron ops lib introuvable ; assurez-vous que votre version Caffe2 comprend le module Detectron

@all Veuillez voir la note en caffe2/modules/detectron/CMakeLists.txt

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

Le module detectron de caffe2 n'est disponible qu'en mode GPU !

Je viens de parcourir à nouveau INSTALL.md et la section notes des exigences indique clairement "Detectron n'a actuellement pas d'implémentations CPU"

Je pense que les 372 et 449 ont fini de résoudre la partie CPU du problème.
Donc, si vous voulez que cela soit inclus, je pense qu'aider les responsables à réviser ces deux PR (et aussi à les voter) pourrait faciliter le processus.

Si vous êtes intéressé par le support CPU, vous pouvez nous aider à l'apporter en votant et même en examinant ces deux problèmes : #372 & #449.

Ps : cela pourrait également aider pour l'inférence pure Caffe2/PyTorch mais dans un avenir plus éloigné

@rbgirshick @gadcam Pour l'instant, n'est-il pas possible d'exécuter Detectron sur Android ?

Cette page vous a été utile?
0 / 5 - 0 notes