1. Primero instale varios paquetes de dependencia
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. Descarga caffe
La mayoría de los tutoriales para instalar caffe que se encuentran en Internet se descargan en git https://github.com/BVLC/caffe
Pero hay una carpeta caffe3d
en el archivo heredado, que se puede obtener en https://github.com/fyu/caffe3d en GitHub
Después de eso, obtuve la información de la pista en el archivo Léame de la carpeta existente y
encontré Video-Caffe: Caffe con implementación C3D y lector de video,
https://github.com/chuckcho/video-caffe
que es Video-Caffe: con Implementación C3D y Caffe de lector de video,
En los artículos existentes, también se menciona que el entorno experimental es la red R-C3D basada en el marco caffe con la capa de procesamiento de video agregada,
por lo que ahora se reconoce como Video-Caffe en GitHub.
3. Modifica el archivo
3.1 Makefile.config
Porque el comando make solo puede crear un archivo Makefile.config, y Makefile.config.example es el ejemplo de makefile proporcionado por caffe.
Por lo tanto, primero copie el contenido de Makefile.config.example a Makefile.config:
sudo cp Makefile.config.example Makefile.config
Luego modifique el archivo Makefile.config y abra el archivo en el directorio caffe:
sudo gedit Makefile.config
Modifique el contenido del archivo Makefile.config de acuerdo con las circunstancias personales:
(1) Si se usa cudnn, entonces:
将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
(2) Si la versión de opencv utilizada es 3, entonces:
将
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
(3) Si es la versión CUDA> = 9.0, se eliminará la potencia de cálculo de 20 y 21, de la siguiente manera:
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
PD: Tengo un archivo que he usado antes, usando CUDA8.0. El archivo anterior se ha modificado de la siguiente manera:
# 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) Si usa Python para escribir la capa, entonces:
将
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
(5) Un elemento importante: Will # Cualquier otra cosa que encuentre que necesita va aquí. Lo siguiente:
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
Luego modifique el Makefile en el directorio caffe:
sudo gedit Makefile
将:
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
El siguiente cambio no estaba en el archivo 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.hy comente la línea 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根据自己电脑配置决定
Errores durante la compilación
(1) Error: Error de compilación:
Makefile: 568: Receta para target'.build_release / lib / libcaffe.so.1.0.0-rc3 'fallida
Solución:
https://blog.csdn.net/ CAU_Ayao / article / details / 84023510
(2) Error:
/ usr / bin / ld: no se puede encontrar -lopencv_imgcodecs
/ usr / bin / ld: no se puede encontrar -lopencv_videoio
Solución:
https://blog.csdn.net/w113691 / article / details / 77942408 Vea este tutorial.
https://blog.csdn.net/Dillon2015/article/details/79858116
5. Prueba
hacer prueba -j8
hacer runtest -j8
Si el resultado que se muestra es el que se muestra en la figura anterior, significa que caffe se ha instalado correctamente.
出错 : la receta para la 'prueba de ejecución' de destino falló
PD: Debido a que runtest siempre ha cometido errores, todos los pensamientos se pierden. Finalmente, elegí usar el viedo-caffe descargado en GitHub y volver a modificar el archivo-compilar-configurar
Configurar pycaffe:
sudo make pycaffe -j16 // Coloca pycaffe
6. Configuración de variables de entorno:
gedit ~ / .bashrc
Agregue al final:
complete el directorio de python debajo de su caffe aquí
exportar PYTHONPATH = ~ / caffe / python: $ PYTHONPATH para
que la variable de entorno surta efecto:
fuente ~ / .bashrc
7. Prueba del paquete de guías
Ingrese python para ingresar al entorno de python, y luego continúe ingresando
import caffe
pip instala los paquetes que faltan. Una vez completada la instalación, se completa la importación de caffe.
A las 19:06 del 12 de marzo de 2021,
la versión descargada de Internet no parece funcionar, pero el caffe3d integrado todavía está instalado.