在ubuntu16.04下搭建caffe GPU环境
caffe的编译和其依赖项的配置总是各自更新,网上找到的之前的教程总是不完全,记录一版,留待重装.
搭建环境
|喵|呜| |–|–| 服务器|think ts250 gpu|1050Ti 系统|ubuntu16.04 cuda|9.2 cudnn|无
搭建流程
装系统
从ubuntu官网下载16.04的iso镜像,给服务器装系统.据说17以后支持使用apt安装caffe,但是调试不方便,没有用.
安装依赖项
首先进行系统更新,安装常用的软件.(这次搭建使用的联通宽带,直接从ubuntu源更新,感谢联通)
然后安装以下库
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 #修改以使用其它blas库
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
安装NVIDIA驱动
驱动可以在线或者离线安装,之前离线安装过一次,非常麻烦,找得到的教程拼拼凑凑最终成功.
在线安装需要一个直通ubuntu apt源的网络,感谢联通.
- 卸载驱动
sudo apt-get remove --purge nvidia*
- 添加PPA源到系统
sudo add-apt-repository ppa:graphics-drivers/ppa
- 更新系统
sudo apt-get update
- 进入命令行(Ctrl + Alt + F1)
sudo service lightdm stop
- 安装驱动
sudo apt-get install nvidia-384 #384应修改为最新的驱动版本,在nvidia官网查看
- 重启
安装CUDA
到nvidia官网下载对应版本的cuda库(我选择了离线deb包).
sudo dpgk -i *.deb
sudo apt update
sudo apt install cuda
设置环境变量,在/etc/bash.bashrc文件末尾添加cuda路径.
export PATH=/usr/local/cuda-9.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH
执行source更新
source /etc/bash.bashrc
安装CUDNN
并没有做
下载caffe并编译
早期的caffe需要手动编译各种库,如今大部分库都可以用apt安装dev版本了,感谢开源.openCV是我自己编译的,因为dev版本找不到库文件和头文件.
clone caffe的源代码后,复制Makefile.config.example到Makefile.config,按需修改.
我做的修改包括:打开opencv leveldb lmdb,指定opencv路径 版本,指定cuda路径,指定blas库,关闭python,打开debug.
编译时提示找不到hdf5.h,可能原因是hdf5的最新库更改了文件名和路径…按一下修改即可:
在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS. 在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial. 行号很可能随版本修改…
编译,测试,通过.
make -j?
make test
make runtest