血泪安装caffe教程
先說下心酸過程
公司的服務器是Ubuntu20,cuda是11.1,cudnn是8.幾
首先一直報一串好長好長的錯誤,總結起來是一直是cudnn版本的問題。
caffe的官網一直沒有給出對cuda和cudnn版本的要求,這個真的很難受。
后面一直找辦法,才從別的博客上發現,caffe要是cudnn在8.0之前的版本,真的絕了。
反正過程中出現很多問題,其他就不吐露了。
正確安裝過程:
1.安裝依賴包
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install git cmake build-essential看到有別人寫的怎么驗證是否全部安裝成功,可以再把命令再重新運行一遍,如果出現
升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 0 個軟件包,有X個軟件包未被升級。2.配置環境變量
vim ~/.bashrc在文件后面加上下面內容
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH保存,生效
source ~/.bashrc3.安裝cuda和cudnn
我電腦安裝的是cuda10.1和cudnn7.6.3
4.安裝opencv3.4.13
下載opencv3.4.13,鏈接:Releases - OpenCV
選擇sources版本。
先安裝依賴包:
sudo apt-get install cmake sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev解壓opencv-3.4.13
unzip opencv-3.4.13.zip cd opencv-3.4.13 mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. sudo make -j8 sudo make install配置環境
sudo vim /etc/ld.so.conf.d/opencv.conf #看到一個空文件,或者不是一個空文件,添加以下內容 /usr/local/lib使剛剛配置生效
sudo ldconfig?出現錯誤,不是符號鏈接
進入報錯的鏈接,在目錄下創建軟連接,即可。
配置bash
sudo vim /etc/bash.bashrc //在末尾添加 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH保存生效:
source /etc/bash.bashrc //更新 sudo updatedb查看是否安裝成功
pkg-config --modversion opencv顯示opencv版本。?
?5.安裝caffe
git clone https://github.com/BVLC/caffe.git cd caffe sudo cp Makefile.config.example Makefile.config sudo vim Makefile.config修改Makefile.config文件:
1.將 #USE_CUDNN := 1 修改成: USE_CUDNN := 12.將 #OPENCV_VERSION := 3 修改為: OPENCV_VERSION := 33.將 #WITH_PYTHON_LAYER := 1 修改為 WITH_PYTHON_LAYER := 14. 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 5.我這里使anaconda的python,不使用系統自帶的。6.將前兩行刪除 CUDA_ARCH := -gencode arch=compute_30,code=sm_20 \-gencode arch=compute_35,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_61,code=sm_61 變成 CUDA_ARCH := -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_61,code=sm_617.注釋掉 #PYTHON_INCLUDE := /usr/include/python2.7 \/usr/lib/python2.7/dist-packages/numpy/core/include把anancoda中python放開 ANACONDA_HOME := $(HOME)/anaconda3 PYTHON_INCLUDE := $(ANACONDA_HOME)/include \$(ANACONDA_HOME)/include/python3.6m \$(ANACONDA_HOME)/lib/python3.6/site-packages/numpy/core/include \修改 caffe 目錄下的 Makefile 文件
將: NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替換為: NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)將: 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注意-Xcompoler前有空格,要不出現fPIC報錯。
報錯后,修改后要先make clean,再make
之后編譯
make all -j8編譯成功后,可以運行測試
sudo make runtest -j8沒有報錯,即成功。
6.要在python中使用caffe,還需要安裝pycaffe
cd caffe sudo make pycaffe -j8報錯:
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 沒有那個文件或目錄如果有上面報錯,輸入以下命令:
?
總結
以上是生活随笔為你收集整理的血泪安装caffe教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HP前女老板Dunn和Carly的琐碎事
- 下一篇: Linux系统IP地址