主要参考:
这三个算是比较新的,综合起来完成HP Z820 上Caffe环境配置
环境: Ubuntu 14.04 desktop, CUDA 7.5
Basics
主要是一部分准备工作
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential sudo apt-get autoremove
安装git
sudo apt-get install git
Nvidia Drivers
说明:
- 现在的显卡驱动安装,CUDA安装不需要关闭图形界面也可以实现;
- 也不像很多博客所说的那样,转cuda之前不能更新,否则有可能会崩溃之类的;
- Nvidia Drivers的安装可以通过ubuntu自带的”软件和更新“里的附加驱动实现;
- 或者按照所提供网址里面的方法实现驱动安装;
- 另外一种说法是现在CUDA集成驱动,在关闭图形界面的情况下安装CUDA可以自动把驱动也装好,这个可能通过在线安装,顺带安装依赖项实现,离线安装包可能较小;
- 推荐352,而不是最新的361.42,最新的不一定最合适
查看显卡型号:
lspci | grep -i nvidia
在线安装:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-352
或者官网下载离安装包,安装
或者按照我所说的使用Ubuntu自带的软件和跟新选择合适的驱动,更简单;
重启系统:
sudo shutdown -r now
查看驱动版本:
cat /proc/driver/nvidia/version
CUDA
同样下载离线安装包,这里使用CUDA 7.5版本:
sudo dpkg -i cuda-repo-ubuntu1404*amd64.deb sudo apt-get update sudo apt-get install cuda
添加路径:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
检查CUDA版本:
nvcc -V
重启系统:
sudo shutdown -r now
cuDNN
最新版本是cuDNN V5,但是经尝试,V5在编译的过程中有问题,推荐cuDNN V4 for Linux
跳转到cuDNN所在路径,解压安装:
cd ~/Downloads/ tar xvf cudnn*.tgz cd cuda sudo cp */*.h /usr/local/cuda/include/ sudo cp */libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
这里其实就是复制相关文件到cuda目录,奇怪为啥cuda不集成cuDNN,也有可能已经自带,未做验证;
链接cuDNN库文件,不知是否必须:
sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4 sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
检查:
nvidia-smi
OpenBLAS
cuDNN和OpenBLAS只安装一个就可以完成caffe的编译工作,可选操作
mkdir ~/git cd ~/git git clone https://github.com/xianyi/OpenBLAS.git cd OpenBLAS make FC=gfortran -j $(($(nproc) + 1)) sudo make PREFIX=/usr/local install
添加路径:
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
Common Tools
- 关于相关python依赖项,可以参照所给出的网址尝试,也可以直接安装Anaconda2一步到位,只是注意添加额外的环境变量:
- 当然也可以不装Anaconda2直接安装;
- 跑一下,稍作检查,确保依赖项都在;
sudo apt-get install -y libfreetype6-dev libpng12-dev pip install -U matplotlib ipython[all] jupyter pandas scikit-image
还有一些caffe的依赖包:
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 libgflags-dev libgoogle-glog-dev liblmdb-dev
OpenCV
推荐安装,很多时候是需要用到的:
下载安装包,切换到文件保存的文件夹,安装依赖项:
sudo sh Ubuntu/dependencies.sh
进入Ubuntu3.0安装OpenCV 3.0.0:
sudo sh opencv3_0_0.sh
如果成功安装应该不会有什么错误提示:
使用一个有用的命令查看版本:
pkg-config --modversion opencv
Caffe
下载安装包:
cd ~/git git clone https://github.com/BVLC/caffe.git cd caffe cp Makefile.config.example Makefile.config
主要是新建了一个git文件夹,下载caffe安装包到git路径里面:
最后一条命令是复制一个配置文件,源文件留作备份,我们要修改这个配置文件,打开后修改;
sudo gedit /caffe/Makefile.config USE_CUDNN := 1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial # 默认启用OpenBLAS PYTHON_LIB := /usr/local/lib # pythn库 MATLAB_DIR := /usr/local/MATLAB/R2014a # Matlab安装路径,用于链接Matlab OPENCV_VERSION =3 # OpenCV
仅仅列出修改部分,如果使用Anaconda配置文件中有相关修改,只需要取消注释就可以了,并修改路径为自己Anaconda安装路径;
编译caffe:
make all -j16 make test -j16 make runtest -j16
添加“-16”为使用多核进行编译,速度更快;
编译Pythn 和 Matlab用到的caffe
make pycaffe -j16 make matcaffe -j16
测试详见第二个网址末尾: )