看这一篇就够了ubuntu16.04,cuda8.0,cudnnV5.1,python2.7,opencv3.3+contrib,caffe

看这一篇就够了ubuntu16.04,cuda8.0,cudnnV5.1,anaconda3.6虚拟python2.7,opencv3.3+contrib,caffe

环境配置:
- ubuntu16.04
- cuda.8.0
- cudnnV5.1
- anaconda3.6,配置虚拟环境python2.7系统自带python2.7
- opencv3.3+contrib
- caffe

1、安装ubuntu16.04

========================================

这个没有什么好介绍的了,网上单独安装ubuntu,或者双系统安装ubuntu的一大堆,自己找找就好,至于版本选择问题,大家配置深度学习环境通常都是14.04和16.04。
ps:刚刚发现,17.04配置起来特别简单

发现这里还是需要讲的,装完系统后连上网先更新源,一定是ubuntu版本对应的源,这里就不贴了,网上东北大学、清华大学、阿里等源很多。

sudo gedit /etc/apt/source.list      //打开源列表文本,将原有的全部删除,将网上找到的源全部粘进去
sudo apt-get update

2、安装cuda8.0

注意!!!
一定要看官方文档!!!看官方文档完全能搞定!!!在cuda这一步不需要看各博主的博客!!!
这也是以后配置环境首先要干的事,各博客里都是根据自己的情况适当修改步骤,只有官方文档是最权威的。附加一句,配置哪个版本的cuda就看哪个版本的文档,每个版本的配置不完全相同。
官网目前是cuda9.0,应该不好找8.0的文档,可以去谷歌里搜:cuda8.0 install pdf

未免大家太懒不愿意去看,我贴一下吧,只针对于cuda8.0和ubuntu16.04的

sudo apt-get install linux-headers-$(uname -r)

sudo dpkg -i cuda-repo-__.deb
sudo apt-get update
sudo apt-get install cuda

配置环境变量

sudo gedit /etc/profile

在最下面添加

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

保存退出,然后更新

source /etc/profile

到这一步最好重启一下
验证是否安装成功

cuda-install-samples-8.0.sh 

cat /proc/driver/nvidia/version

cd <之前设置的路径>/NVIDIA_CUDA-8.0_Samples
sudo make   

cd <之前设置的路径>/NVIDIA_CUDA-8.0_Samples/1

./deviceQuery

3、安装cudnnv5.1

sudo cp <解压后的cudnn目录,名字应该叫做cuda>/include/cudnn.h /usr/local/cudn/include
sudo cp <解压后的cudnn目录,名字应该叫做cuda>/lib64/libcudnn* /usr/local/cudn/lib64
sudo chmod 777 /usr/local/cudn/include /usr/local/cudn/lib64/libcudnn*
sudo rm -r /usr/local/cudn/lib64/libcudnn.so libcudnn.so.5
sudo ln -s /usr/local/cudn/lib64/libcudnn.so.5.1.10 /usr/local/cudn/lib64/libcudnn.so.5
sudo ln -s /usr/local/cudn/lib64/libcudnn.so.5 /usr/local/cudn/lib64/libcudnn.so

4、安装anaconda3.6自带的python2.7,没什么好说的

5、安装opencv3.3+contrib

官方安装教程很详细https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

sudo apt-get install build-essential

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

cd ~/opencv
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -DOPENCV_EXTRA_MODULES_PATH=/modules ..

make -j7
sudo make install

6、安装caffe

6.1、安装依赖

-BLAS via ATLAS, MKL, or OpenBLAS.
-Boost >= 1.55
-protobuf, glog, gflags, hdf5

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

6.2、下载源码

源码地址:https://github.com/BVLC/caffe/
然后解压
注意:下面将解压后的目录设置为caffe_root

6.3、配置makefile.config

cd 
sudo cp Makefile.config.example Makefile.config

一定要根据个人需求定向修改Makefile.config里的内容!!,不要随便照搬照抄网上博客里的内容,我将在我的另一篇博客里详细介绍

6.4、编译

sudo make all

如果用多核作并行编译,比如4核,可用下面这条命令代替,具体多少并行,看个人电脑配置

sudo make -j4   

可能遇到的问题
(1) fatal error: hdf5.h: No such file or directory
在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。

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

(2)error while loading shared libraries: libopencv_core.so.3.3
这是因为我们把opencv安装到了/usr/local/opencv里了
所里,需要添加库目录

sudo gedit /etc/ld.so.conf.d/opencv.conf

在这是个新建打文件,在里面输入

/usr/local/opencv/lib

然后保存退出,执行

sudo ldconfig -v

解决
(3)no module named caffe

sudo gedit ~/.bashrc

在最下面添加

export PYTHONPATH = /python/caffe    

(4)No module named skimage.io

sudo apt-get install python-skimage

(5)’module’ object has no attribute ‘bool_’
(6)ImportError: No module named google.protobuf.internal

sudo apt-get install python-pip
sudo pip install protobuf

你可能感兴趣的:(深度学习)