1. Primeiro instale vários pacotes de dependência
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libopenblas-dev
sudo apt-get install the python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2. Baixe o caffe
A maioria dos tutoriais para instalar o caffe encontrados na Internet são git download https://github.com/BVLC/caffe
Mas há uma pasta caffe3d
no arquivo herdado, que pode ser obtida em https://github.com/fyu/caffe3d no GitHub
Depois disso, obtive as informações de pista no arquivo leia-me da pasta existente e
encontrei Video-Caffe: Caffe com implementação C3D e leitor de vídeo,
https://github.com/chuckcho/video-caffe
que é Video-Caffe: com Implementação C3D e Caffe do leitor de vídeo,
Nos documentos existentes, também é mencionado que o ambiente experimental é a rede R-C3D baseada no framework caffe com a camada de processamento de vídeo adicionada,
por isso agora é reconhecida como Video-Caffe no GitHub.
3. Modifique o arquivo
3.1 Makefile.config
Porque o comando make só pode criar o arquivo Makefile.config, e Makefile.config.example é o exemplo makefile fornecido pelo caffe.
Portanto, primeiro copie o conteúdo de Makefile.config.example para Makefile.config:
sudo cp Makefile.config.example Makefile.config
Em seguida, modifique o arquivo Makefile.config e abra o arquivo no diretório caffe:
sudo gedit Makefile.config
Modifique o conteúdo do arquivo Makefile.config de acordo com as circunstâncias pessoais:
(1) Se cudnn for usado, então:
将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
(2) Se a versão opencv usada for 3, então:
将
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
(3) Se for a versão CUDA> = 9.0, o poder de cálculo de 20 e 21 será removido, conforme a seguir:
CUDA_ARCH := \
#-gencode arch=compute_20,code=sm_20 \
# -gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
PS: Eu tenho um arquivo que usei antes, usando CUDA8.0. O arquivo acima foi modificado da seguinte maneira:
# For CUDA < 6.0, comment the *_50 lines for compatibility.
#CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35
CUDA_ARCH := -gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
(4) Se você usar python para escrever a camada, então:
将
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
(5) Um item importante: # Qualquer outra coisa que você achar que precisa vai aqui. O seguinte:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
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 /usr/lib/x86_64-linux-gnu/hdf5/serial
3.2 Makefile
Em seguida, modifique o Makefile no diretório caffe:
sudo gedit Makefile
将:
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
A seguinte alteração não estava no arquivo anterior.
将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
3.3 Editar host_config.h
Edite /usr/local/cuda/include/host_config.h e comente a linha 115:
sudo gedit /usr/local/cuda/include/host_config.h
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
4. Compilar
make all -j8 #-j根据自己电脑配置决定
Erros durante a compilação
(1) Erro: Erro de compilação:
Makefile: 568: receita para target'.build_release / lib / libcaffe.so.1.0.0-rc3 'falhou
Solução:
https://blog.csdn.net/ CAU_Ayao / article / details / 84023510
(2) Erro:
/ usr / bin / ld: não é possível localizar -lopencv_imgcodecs
/ usr / bin / ld: não é possível localizar -lopencv_videoio
Solução:
https://blog.csdn.net/w113691 / article / details / 77942408 Veja este tutorial.
https://blog.csdn.net/Dillon2015/article/details/79858116
5. Teste
fazer teste -j8
make runtest -j8
Se o resultado exibido for o mostrado na figura acima, significa que o caffe foi instalado com sucesso.
出错 : a receita para o 'teste de execução' de destino falhou
PS: Como o runtest sempre comete erros, todos os pensamentos se perdem. Por fim, optei por usar o viedo-caffe baixado no GitHub e re-modificar o arquivo-compilar-configurar
Configure o pycaffe:
sudo make pycaffe -j16 // Coloque o pycaffe
6. Configuração da variável de ambiente:
gedit ~ / .bashrc
Adicione no final:
preencha o diretório python em seu caffe aqui
export PYTHONPATH = ~ / caffe / python: $ PYTHONPATH para
fazer com que a variável de ambiente tenha efeito:
fonte ~ / .bashrc
7. Teste do pacote de guia
Insira python para entrar no ambiente python e, a seguir, continue para inserir
import caffe
pip instala os pacotes ausentes. Após a conclusão da instalação, a importação do caffe é concluída.
Às 19h06 do dia 12 de março de 2021,
a versão baixada da Internet parece não funcionar, mas o caffe3d embutido ainda está instalado.