Detectron: CPU e suporte de inferência puro Caffe2 / C ++ incluindo dispositivos móveis ("o modelo pode ser usado para telefones móveis como o Android?")

Criado em 24 jan. 2018  ·  16Comentários  ·  Fonte: facebookresearch/Detectron

o modelo pode ser usado para telefones celulares como Android

planned feature

Comentários muito úteis

Pretendemos fornecer uma ferramenta de conversão e instruções sobre como executar modelos Detectron em telefones celulares no futuro.

Todos 16 comentários

Pretendemos fornecer uma ferramenta de conversão e instruções sobre como executar modelos Detectron em telefones celulares no futuro.

Tentando construir para inferência apenas de CPU, caffe2 foi instalado com sucesso. A execução de test_spatial_narrow_as_op.py falha devido a uma biblioteca de GPU ausente.

$ python ../tests/test_spatial_narrow_as_op.py
AVISO: root : esta execução de caffe2 python não tem suporte para GPU. Será executado no modo somente CPU.
AVISO: root : Mensagem de depuração: Nenhum módulo denominado caffe2_pybind11_state_gpu
Traceback (última chamada mais recente):
Arquivo "../tests/test_spatial_narrow_as_op.py", linha 88, em
utils.c2.import_detectron_ops ()
Arquivo "/home/user/Detectron/lib/utils/c2.py", linha 41, em import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib ()
Arquivo "/home/user/Detectron/lib/utils/env.py", linha 73, em get_detectron_ops_lib
'versão inclui módulo Detectron'). formato (detectron_ops_lib)
AssertionError: Detectron ops lib não encontrado em '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; certifique-se de que sua versão Caffe2 inclui o módulo Detectron

@rbgirshick , Podemos fazer inferências sem GPUs? Obtendo o mesmo erro de @ ss32

Tentando construir para inferência apenas de CPU, caffe2 foi instalado com sucesso. A execução de test_spatial_narrow_as_op.py falha devido a uma biblioteca de GPU ausente.

$ python ../tests/test_spatial_narrow_as_op.py
AVISO: root : esta execução de caffe2 python não tem suporte para GPU. Será executado no modo somente CPU.
AVISO: root : Mensagem de depuração: Nenhum módulo denominado caffe2_pybind11_state_gpu
Traceback (última chamada mais recente):
Arquivo "../tests/test_spatial_narrow_as_op.py", linha 88, em
utils.c2.import_detectron_ops ()
Arquivo "/home/user/Detectron/lib/utils/c2.py", linha 41, em import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib ()
Arquivo "/home/user/Detectron/lib/utils/env.py", linha 73, em get_detectron_ops_lib
'versão inclui módulo Detectron'). formato (detectron_ops_lib)
AssertionError: Detectron ops lib não encontrado em '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; certifique-se de que sua versão Caffe2 inclui o módulo Detectron

Estou tendo o mesmo problema aqui. Usando binários pré-construídos no Mac.

Enfrentando o mesmo problema. Tentei construir o caffe2 a partir do código-fonte, bem como usando os binários pré-compilados no macOS.

Eu tenho o mesmo problema (consulte o log de erros).

Meu objetivo: ter um teste rodando em MacOs apenas com CPU.

Etapa: 1) instale todas as outras dependências com cond;
2) instale o caffe2 com conda.
3) instale o detectron com o sistema pip (python) e, em seguida, coloque o diretório lib na variável PYTHONPATH.

Então eu tenho o mesmo problema acima:

AVISO: root : esta execução de caffe2 python não tem suporte para GPU. Será executado no modo somente CPU.
AVISO: root : Mensagem de depuração: Nenhum módulo denominado caffe2_pybind11_state_gpu
E0204 13: 06: 36.049393 2041434112 init_intrinsics_check.cc:54] O recurso avx da CPU está presente em sua máquina, mas o binário Caffe2 não é compilado com ele. Isso significa que você pode não obter a velocidade total de sua CPU.
E0204 13: 06: 36.049954 2041434112 init_intrinsics_check.cc:54] O recurso avx2 da CPU está presente em sua máquina, mas o binário Caffe2 não é compilado com ele. Isso significa que você pode não obter a velocidade total de sua CPU.
E0204 13: 06: 36.049964 2041434112 init_intrinsics_check.cc:54] O recurso de CPU fma está presente em sua máquina, mas o binário Caffe2 não é compilado com ele. Isso significa que você pode não obter a velocidade total de sua CPU.
Traceback (última chamada mais recente):
Arquivo "/tmp/test_spatial_narrow_as_op.py", linha 88, em
utils.c2.import_detectron_ops ()
Arquivo "/Users/wangy/python/detectron/lib/utils/c2.py", linha 41, em import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib ()
Arquivo "/Users/wangy/python/detectron/lib/utils/env.py", linha 73, em get_detectron_ops_lib
'versão inclui módulo Detectron'). formato (detectron_ops_lib)
AssertionError: Detectron ops lib não encontrado em '/Users/wangy/miniconda2/lib/python2.7/site-packages/lib/libcaffe2_detectron_ops_gpu.so';

@CancerGenome Isso provavelmente não está relacionado ao problema apenas da GPU. Você deve instalar a versão Caffe2 com detectron como um módulo (como dito nas instruções INSTALL.md ). Pode ser encontrado aqui

@ ss32 eu resolvo este problema。Como meu computador foi instalado o caffe1 e o caffe2, eu comento a variável de ambiente do caffe1 que é a variável PYTHONPATH. e adicionar a variável de ambiente de caffe2. finalmente, com sucesso, basta fazer:
gedit ~ / .bashrc
comente isto:

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

Adicione isso:
exportar PYTHONPATH = / caminho / para / caffe2 / build: $ PYTHONPATH

espero te ajudar! felizmente ~

HI @rbgirshick cerca de três semanas atrás, passei uma tarde de domingo instalando caffe2 da fonte em uma caixa de desenvolvimento com uma GPU habilitada para CUDA de 4 Gb no Ubuntu 16.04 com a esperança de poder fazer feedforward em algumas imagens maiores, digamos 1920x1080 na CPU para ver a qualidade do mascaramento. Mas descobri que estava vinculado à biblioteca apenas de GPU:

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

Portanto, atualmente fico com a escolha de usar a computação em nuvem da AWS para fazer o mascaramento ou comprar um hardware habilitado para CUDA mais recente.

Você tem uma linha do tempo para falar sobre quando a implementação somente da CPU seria feita?

Caffe2 e Detectron instalados no meu RaspberryPi. Tendo o mesmo problema.

AVISO: root : esta execução de caffe2 python não tem suporte para GPU. Será executado no modo somente CPU.
AVISO: root : Mensagem de depuração: Nenhum módulo denominado caffe2_pybind11_state_gpu
INFO: caffe2.python.net_drawer : Não é possível importar o pydot, que é necessário para desenhar uma rede. Isso geralmente pode ser instalado em python com "pip install pydot". Além disso, o pydot requer o graphviz para converter arquivos dot em pdf: no ubuntu, isso geralmente pode ser instalado com "sudo apt-get install graphviz".
net_drawer não funcionará corretamente. Instale as dependências corretas.
Traceback (última chamada mais recente):
Arquivo "test_spatial_narrow_as_op.py", linha 88, em
utils.c2.import_detectron_ops ()
Arquivo "/home/pi/detectron/lib/utils/c2.py", linha 41, em import_detectron_ops
detectron_ops_lib = envu.get_detectron_ops_lib ()
Arquivo "/home/pi/detectron/lib/utils/env.py", linha 73, em get_detectron_ops_lib
'versão inclui módulo Detectron'). formato (detectron_ops_lib)
AssertionError: Detectron ops lib não encontrado em '/home/pi/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so'; certifique-se de que sua versão Caffe2 inclui o módulo Detectron

A mesma pergunta, a inferência apenas da CPU é possível? Quero testar o Detectron, mas não consigo - meu sistema operacional host é o Windows (o Detectron não oferece suporte, pelo que eu entendo) e em VMs não consigo usar GPU.
Diz:

AssertionError: Detectron ops lib não encontrado; certifique-se de que sua versão Caffe2 inclui o módulo Detectron

@todos Por favor, veja a nota em caffe2/modules/detectron/CMakeLists.txt

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

O módulo detectron no caffe2 está disponível apenas no modo GPU !

Acabei de passar por INSTALL.md novamente e a seção de notas de requisitos diz claramente "Detectron atualmente não tem implementações de CPU"

Acho que # 372 e # 449 terminam para resolver a parte da CPU do problema.
Então, se você quiser que isso seja incluído, acho que ajudar os mantenedores a revisar esses dois PR (e também aprová-los) pode facilitar o processo.

Se você estiver interessado no suporte à CPU, pode nos ajudar a trazê-lo votando positivamente e até mesmo revisando estas duas questões: # 372 e # 449.

Ps: isso também pode ajudar para inferência pura de Caffe2 / PyTorch, mas em um futuro mais remoto

@rbgirshick @gadcam Por enquanto, não é possível rodar o Detectron no Android?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

coldgemini picture coldgemini  ·  3Comentários

twmht picture twmht  ·  3Comentários

Adhders picture Adhders  ·  3Comentários

olgaliak picture olgaliak  ·  4Comentários

kleingeo picture kleingeo  ·  3Comentários