深度学习已经接触很长一段时间了,在公司正在开发两个深度学习的项目,之前一直都是将自己的学习笔记以及学习过程中遇到的困难写在笔记本上,但发现时间久了之后,好多东西又慢慢的在忘记了,而且写在本子上的东西也懒得再去翻出来看,因此,决定将自己学习的笔记和心得写出来,大家一起参考学习,要哪里理解错误或不对的地方,网上大神还请不吝赐教!!!
第一篇文章是关于如何在ubuntu下配置caffe,我相信对于很多初学者来说,在配置的时候肯定经历过一个相当痛苦的过程,下面我将自己配置的过程写出来,以供参考,不喜勿喷!!!
以下安装过程以Ubuntu16.04为例:
一 安装cuda8.0
1 安装nvidia驱动,到系统设置/软件更新/附加驱动,安装nvidia驱动。
安装完成之后,务必重启!!!
验证是否安装成功:nvidia-smi nvidia-settings
2 安装cuda
cd到cuda8.0所在的路径,然后输入:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
按住enter键一路往下,做相应的选择。
然后输入:sudo gedit ~/.bashrc
添加路径:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后输入:sudo gedit /etc/profile
添加路径:export PATH=/usr/local/cuda/bin:$PATH
然后输入:sudo gedit /etc/ld.so.conf.d/cuda.conf
添加路劲:/usr/local/cuda/lib64
然后执行:sudo ldconfig
source ~/.bashrc
sudo ldconfig -v
测试cuda是否安装成功:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
如果显示一些关于gpu的信息,则表示安装成功。
3 使用cudnn:
下载完cudnn后,命令行输入文件所在的文件夹 (ubuntu为本机用户名)
cd home/ubuntu/Downloads/
cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
再cd进入lib64目录下的动态文件进行复制和链接:(5.1.5为对应版本具体可修改)
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
二 依赖的配置到官网去下载:点击打开链接
General dependencies包括:
1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
BLAS:sudo apt-get install libatlas-base-dev
以防万一:多安装dependencies:
1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libatlas-base-dev
4 sudo apt-get install libhdf5-serial-dev
安装python的dev:sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
下载caffe:git clone https://github.com/BVLC/caffe.git
安装requirement.txt中python的包,建议一个一个单独安装,因为单独安装的才是最新的版本。
requirement.txt文件的路径为:../caffe-master/python/requirement.txt
for req in $(cat requirements.txt); do sudo pip install $req; done
重点来了!!!
配置caffe:
首先cd到caffe-master文件中,然后执行命令:
cp Makefile.config.example Makefile.config
然后执行:
suso vim Makefile.config 打开Makefile.config文件。
修改文件,只用CPU,则将在CPU_ONLY := 1前面的#要去掉。
要修改两个路径:
# Whatever else you find you need goes here.
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/hdf5/serial
该路径需要特别注意:有的路径为i836-linux-gnu/hdf5/serial,因此要自己去相应路径下查看路径。
开始编译:
make pycaffe -j8
make all-j8
make test-j8
make runtest-j8
make默认是单核运算,速度会比较慢,可以在后面加上相应的-j4,采用4核,如果哪一行编译时出错,则需要执行make clean后再编译。
配置python接口
去到caffe-master/python文件夹,然后pwd查看当前路径,然后执行:
sudo gedit ~/.bashrc 在末尾加上如下路径:
export PYTHONPATH=$PYTHONPATH:/home/gsy/caffe/python/
然后使配置生效。 source ~/.bashrc
然后cd到最初目录,sudo vi .bashrc
输入:export PATH=$PATH:/home/gsy/caffe/build/tools 保存退出。
****如果在pycharm或者eclipse中import caffe提示:no module named caffe,而命令行和ipython可以导入成功****
sudo gedit ~/.profile
export PYTHONPATH=$PYTHONPATH:/home/gsy/caffe/python/
export PATH=$PATH:/home/gsy/caffe/build/tools
sudo ldconfig