1. Installez d'abord divers packages de dépendances
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. Téléchargez caffe
La plupart des tutoriels pour installer caffe trouvés sur Internet sont git download https://github.com/BVLC/caffe
Mais il y a un dossier caffe3d
dans le fichier hérité, qui peut être obtenu à partir de https://github.com/fyu/caffe3d sur GitHub
Après cela, j'ai obtenu les informations d'indice dans le fichier readme du dossier existant et j'ai
trouvé Video-Caffe: Caffe avec implémentation C3D et lecteur vidéo,
https://github.com/chuckcho/video-caffe
qui est Video-Caffe: avec Implémentation C3D et lecteur vidéo Caffe,
Dans les articles existants, il est également mentionné que l'environnement expérimental est le réseau R-C3D basé sur le framework caffe avec la couche de traitement vidéo ajoutée,
il est donc maintenant reconnu comme Video-Caffe sur GitHub.
3. Modifiez le fichier
3.1 Makefile.config
Parce que la commande make ne peut créer que le fichier Makefile.config, et Makefile.config.example est l'exemple de makefile donné par caffe.
Par conséquent, copiez d'abord le contenu de Makefile.config.example dans Makefile.config:
sudo cp Makefile.config.example Makefile.config
Modifiez ensuite le fichier Makefile.config et ouvrez le fichier dans le répertoire caffe:
sudo gedit Makefile.config
Modifiez le contenu du fichier Makefile.config en fonction des circonstances personnelles:
(1) Si cudnn est utilisé, alors:
将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
(2) Si la version d'opencv utilisée est 3, alors:
将
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
(3) S'il s'agit d'une version CUDA> = 9.0, la puissance de calcul de 20 et 21 sera supprimée, comme suit:
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: J'ai un fichier que j'ai utilisé auparavant, en utilisant CUDA8.0. Le fichier ci-dessus a été modifié comme suit:
# 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 vous utilisez python pour écrire la couche, alors:
将
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
(5) Un élément important: Will # Tout ce dont vous avez besoin va ici.
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
Puis modifiez le Makefile dans le répertoire caffe:
sudo gedit Makefile
将:
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
La modification suivante ne figurait pas dans le fichier précédent.
将:
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 Modifier host_config.h
Modifiez /usr/local/cuda/include/host_config.h et commentez la ligne 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. Compilez
make all -j8 #-j根据自己电脑配置决定
Erreurs lors de la compilation
(1) Erreur: Erreur de compilation:
Makefile: 568: recette pour target'.build_release / lib / libcaffe.so.1.0.0-rc3 'a échoué
Solution:
https://blog.csdn.net/ CAU_Ayao / article / details / 84023510
(2) Erreur:
/ usr / bin / ld: impossible de trouver -lopencv_imgcodecs
/ usr / bin / ld: impossible de trouver -lopencv_videoio
Solution:
https://blog.csdn.net/w113691 / article / details / 77942408 Consultez ce tutoriel.
https://blog.csdn.net/Dillon2015/article/details/79858116
5. Test
faire le test -j8
faire runtest -j8
Si le résultat affiché est comme indiqué dans la figure ci-dessus, cela signifie que caffe a été installé avec succès.
出错 : La recette pour la cible 'runtest' a échoué
PS: Parce que runtest a toujours fait des erreurs, toutes les pensées sont perdues. Enfin, j'ai choisi d'utiliser le viedo-caffe téléchargé sur GitHub, et de re-modifier le fichier-compile-configure
Configurez pycaffe:
sudo make pycaffe -j16 // Placez pycaffe
6. Configuration de la variable d'environnement:
gedit ~ / .bashrc
Ajoutez à la fin:
remplissez le répertoire python sous votre caffe ici
export PYTHONPATH = ~ / caffe / python: $ PYTHONPATH pour
que la variable d'environnement prenne effet:
source ~ / .bashrc
7. Test de l'emballage du guide
Entrez python pour entrer dans l'environnement python, puis continuez à entrer
import caffe
pip installe les packages manquants. Une fois l'installation terminée, l'importation de caffe est terminée.
À 19h06 le 12 mars 2021,
la version téléchargée sur Internet ne semble pas fonctionner, mais le caffe3d intégré est toujours installé.