环境配置:
- ubuntu16.04
- cuda.8.0
- cudnnV5.1
- anaconda3.6,配置虚拟环境python2.7系统自带python2.7
- opencv3.3+contrib
- caffe
========================================
这个没有什么好介绍的了,网上单独安装ubuntu,或者双系统安装ubuntu的一大堆,自己找找就好,至于版本选择问题,大家配置深度学习环境通常都是14.04和16.04。
ps:刚刚发现,17.04配置起来特别简单
发现这里还是需要讲的,装完系统后连上网先更新源,一定是ubuntu版本对应的源,这里就不贴了,网上东北大学、清华大学、阿里等源很多。
sudo gedit /etc/apt/source.list //打开源列表文本,将原有的全部删除,将网上找到的源全部粘进去
sudo apt-get update
注意!!!
一定要看官方文档!!!看官方文档完全能搞定!!!在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
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
官方安装教程很详细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
-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
源码地址:https://github.com/BVLC/caffe/
然后解压
注意:下面将解压后的目录设置为caffe_root
cd
sudo cp Makefile.config.example Makefile.config
一定要根据个人需求定向修改Makefile.config里的内容!!,不要随便照搬照抄网上博客里的内容,我将在我的另一篇博客里详细介绍
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