Caffe learning from scratch 1 tutorial detalhado sobre como instalar o caffe (versão CPU) no ubuntu16.04 na máquina virtual

Prefácio

Recentemente, quero aprender sozinho a arquitetura caffe.Afinal, essa arquitetura é amplamente utilizada, então vou instalar o caffe na minha máquina virtual. Já existem muitos tutoriais na Internet, e ainda quero escrever este artigo porque os erros de instalação de todos são sempre vários. Espero que os problemas que encontrei durante o processo de instalação possam fornecer alguma referência, e também seja conveniente para mim resumir os problemas.
Dica : A versão gpu do caffe não pode ser instalada na máquina virtual (eu mesmo instalei e um erro será relatado ao instalar o driver da GPU, dizendo que a GPU não pode ser encontrada), portanto, apenas a versão cpu do caffe pode ser instalada.

Instalação de biblioteca dependente

sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev

Bibliotecas dependentes são basicamente as mesmas e geralmente não haverá problemas com a instalação passo a passo. Apenas não perca nenhuma.

Baixe caffe

Se não houver ferramenta git em seu ubuntu, instale primeiro um git.

sudo apt-get install git

Em seguida, baixe o código-fonte caffe

git clone git://github.com/BVLC/caffe.git

Mas cometi um erro nesta etapa e relatei um erro: erro: RPC falhou; transferência curl 18 fechada com dados de leitura pendentes restantes.
Diz-se na Internet para executar o seguinte comando para definir o cache para um valor maior de 500M (o comando é o seguinte :), eu configurei, mas o download ainda está errado, não há nada para pássaros.

git config --global http.postBuffer 524288000

Em seguida, tente clonar menos e adicionar –depth 1. O download foi bem sucedido desta vez.
–A profundidade 1 significa que a profundidade da cópia é 1, ou seja, cada arquivo leva apenas o envio mais recente, não a versão histórica inteira.

git clone https://github.com/flutter/flutter.git --depth 1 

Compilar café

Digite o diretório caffe e o diretório cd caffe /.

Em seguida, copie o arquivo Makefile.config.example que vem com o diretório caffe e renomeie-o para Makefile.config, da seguinte maneira:

cp Makefile.config.example Makefile.config

Em seguida, modifique o arquivo Makefile.config

vim  Makefile.config

Exclua o sinal # na frente de CPU_ONLY, o que significa que apenas CPU é usada, conforme mostrado na figura a seguir:
Insira a descrição da imagem aqui
Em seguida, modifique o caminho de include e lib nas opções de configuração e adicione o caminho de HDF5.
As opções de configuração originais são:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

Depois de adicionar o caminho HDF5:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

Insira a descrição da imagem aqui
As configurações do python no arquivo de configuração não foram alteradas. O padrão python2.7 é usado. Alguns online dizem para usar o python3.5. Eu não tentei esta versão ainda.
Então comece a compilar

sudo make all -j2
sudo make test -j2
sudo make runtest

Conforme mostrado na figura abaixo, isso prova que o caffe foi compilado.
Nota: Se o resultado da execução falhar, você precisa executar a instrução sudo make clean e, em seguida, resolver o problema e recompilar

Insira a descrição da imagem aqui
Geralmente, não haverá problemas nesta etapa. Existem muitos problemas ao compilar a seguinte interface Python.

Compilação da interface Python

Caffe tem interfaces Python e C ++. Usamos interfaces Python com mais frequência. Aqui começamos a compilar interfaces Python.
(1) Instale o pip

sudo apt-get install python-pip

(2) No diretório raiz do caffe, há uma pasta python, e há um requirements.txt na pasta, que contém as bibliotecas dependentes necessárias e informações de versão. Basta instalá-lo de acordo com ele. Antes de instalar, você precisa instalar o editor fortran. (gfrotran), porque é necessário ao instalar a biblioteca scipy, o comando é o seguinte

sudo apt-get install gfortran
cd ~/caffe/python
for req in $(cat requirements.txt); do pip install $req; done

Preste atenção à implementação disso para req em $ (cat requirements.txt); faça pip install $ req; comando done. Ao instalar, você deve garantir que a velocidade da rede é melhor. Mudei a rede durante o processo de instalação e construí um ponto de acesso com meu telefone celular Instalação, a rede anterior não é muito boa.
Durante a implementação de for req em $ (cat requirements.txt); do pip install $ req; concluído, ocorreu um problema.
Ele informa que a versão do pip é 8.1.1 e é recomendável fazer upgrade, portanto, use o seguinte comando para fazer upgrade do pip:

pip install --upgrade pip

Após a atualização, use pip -V para verificar a versão, e o resultado foi outro erro: ImportError: não é possível importar o nome principal.
Verifique as informações online, a solução é: o
arquivo pip está no diretório usr / bin, faça cd nele e modifique o arquivo pip.

cd /usr/bin
vim pip

Faça as seguintes alterações e coloque as seguintes três linhas

from pip import main
if __name__ == '__main__':
  sys.exit(main())

Substitua pelas seguintes três linhas

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

Em seguida, execute o seguinte comando novamente:

for req in $(cat requirements.txt); do sudo pip install $req; done

No entanto, outro erro foi relatado. O erro é o seguinte, indicando que a versão de python-dateutil está incorreta

pandas 0.24.4 has requirement python-dateutil>=2.5.0, but you'll have 
python-dateutil 1.5 which is incompatible.
matplotlib 2.2.3 has requirement python-dateutil>=2.1, but you'll have 
python-dateutil 1.5 which is incompatible.

Veja o python-dateutil instalado

root@ubuntu:~/caffe# apt  list python-dateutil 
Listing... Done
python-dateutil/xenial,xenial,now 2.4.2-1 all [installed,automatic]

Exclua diretamente a restrição de versão no arquivo original

vim requirements.txt

Altere python-dateutil> = 1.4, <2 para python-dateutil
e execute novamente para req em $ (cat requisitos.txt); do sudo pip install $ req; feito, desta vez ele está finalmente instalado.
(3) Em seguida, modifique as variáveis ​​de ambiente de python

vim ~/.bashrc

Adicione no final do arquivo

export PYTHONPATH=/home/moqi/caffe/python:$PYTHONPATH

Habilite variáveis ​​de ambiente:

source ~/.bashrc

Compilar interface python

cd ~/caffe/
make pycaffe

Erro: python / caffe / _caffe.cpp: 10: 31: erro fatal: numpy / arrayobject.h: Nenhum arquivo ou diretório, o arquivo numpy / arrayobject.h não foi encontrado.

Encontre PYTHON_INCLUDE em Makefile.config,

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

Para adicionar um local, ele se torna:

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/local/lib/python2.7/dist-packages/numpy/core/include

Então faça pycaffe está bem

Finalmente

Verifique se a interface python foi instalada com sucesso, conforme mostrado abaixo, indicando que a instalação foi bem-sucedida.
Insira a descrição da imagem aqui
Neste ponto, a instalação do caffe (versão cpu) na máquina virtual ubuntu16.04 está concluída. O próximo artigo começará a estudar as rotinas específicas do café.

Referência:
https://blog.csdn.net/qq_38784979/article/details/82811907

Acho que você gosta

Origin blog.csdn.net/u014470361/article/details/99212233
Recomendado
Clasificación