碎碎念:安装caffe真的用了很久,无数次搜索经验贴,最初选择的版本是cuda-10.0及其对应的cudnn版本,无数次报错,也很难搜到有用的经验贴,均以失败告终,最后选择cuda-8.0+cudnn-5.1安装成功!第一次写博客,还没习惯贴图,请耐心看,亲测成功!
一.NVIDIA 显卡安装
1. 确定笔记本的显卡对应的驱动版本: https://www.nvidia.com/Download/index.aspx
2. 添加PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
3. 打开在software&updates-Additional drivers
:选择上述查到的显卡版本进行安装,如果没有上述的版本,通过ubuntu-drivers devices查看推荐安装的显卡驱动版本,应用改变后close。
4. 重启后输入:sudo nvidia-smi
,可以查看到安装成功的界面,再输入sudo nvidia-settings
进行查看,确实安装成功。
二.cuda-8.0安装
1.通过网址:cuda官网 下载 cuda_8.0.61_375.26_linux.run
2.通过sudo sh cuda_8.0.61_375.26_linux.run
进行安装,一路按着enter知道提示输入accept,之后依次输入 no(询问是否安装显卡驱动),yes,yes,yes;
3.添加环境变量:
gedit ~/.bashrc
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
通过source ~/.bashrc
使其生效。
4.
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
此时会看见Result=PASS表明安装成功!
三.cudnn-5.1安装
1官网cudnn官网 下载即可
2. tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
3. sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
4. sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
5.sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
6.cd /usr/local/cuda/lib64/
7.
#删除原有动态文件
sudo rm -rf libcudnn.so libcudnn.so.5
#生成软衔接
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5
#生成软链接
sudo ln -s libcudnn.so.5 libcudnn.so
8. 查看是否安装成功:
cat /usr/local/cuda-8.0/include/cudnn.h | grep CUDNN_MAJOR -A 2
提示:
#define CUDNN_MAJOR 5
…
#include “driver_types.h”
即安装成功!
四.opencv3.1安装
0.
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install checkinstall yasm libtiff5-dev libjpeg-dev libjasper-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils libeigen3-dev
1.进入官网 : opencv官网 下载opencv-3.1.0.tar.gz
2.解压后进入 cd opencv-3.1.0
(1)mkdir build
(2) cd build
(3) cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .
在该步会卡在ippicv_linux_20151201.tgz
的下载,也有可能提示超时问题,请自己搜索下载好ippicv_linux_20151201.tgz
后放在
/home/xxx/opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
目录下后,cd build
输入 cmake ..
编译
(4)
sudo make
sudo make install
(5)测试是否安装成功:`pkg-config --modversion opencv `
五.caffe(ssd)安装
0.
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install build-essential -y
sudo apt-get install -y pkg-config automake autoconf
sudo apt-get install libprotobuf-dev libleveldb-dev -y
sudo apt-get install libsnappy-dev libhdf5-serial-dev protobuf-compiler -y
sudo apt-get install libatlas-base-dev -y
sudo apt-get install --no-install-recommends libboost-all-dev -y
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y
sudo apt-get install libopencv-dev -y
sudo apt-get install python-pip python-dev -y
sudo apt-get install -y python-numpy python-scipy
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 libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential
1.git clone https://github.com/weiliu89/caffe.git
2.
cd caffe
git checkout ssd
3.sudo cp Makefile.config.example Makefile.config
4.gedit Makefile.config
(1)取消USE_CUDNN := 1前的#
(2)取消OPENCV_VERSION := 3前的#
(3)取消WITH_PYTHON_LAYER := 1前的#
(4)将
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)步为非必须修改,因为我在sudo make -j8时出现警告nvcc warning:The ‘compute_20’, ‘sm_20’…所以修改了
(5) 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_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
5. gedit Makefile
(1)将
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
(2)将:
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)
修改Makefile 文件
LIBRARIES += boost_thread stdc++
改成 LIBRARIES += boost_thread stdc++ boost_regex
6.cd caffe
(1)sudo make -j8 #j8是因为电脑为8核
(2)sudo make test -j8
(3)sudo make runtest -j8
注(1)因为在(3)中我有报错:Caffe .build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0.....所以我进行了如下:
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
之后在sudo make runtest -j8
即可
注(2)在第6步中,(1)-(3)步每执行一次,如果没有编译通过(报错或者警告),请先make clean,解决问题后再进行编译即可
等待一段时间,安装成功的话,如下:参考链接:
https://blog.csdn.net/yhaolpz/article/details/71375762
https://blog.csdn.net/chris_pei/article/details/79976018