深度学习主机环境配置
最近配置caffe环境,中间过程遇到很多坑,花了很多时间,不过最后还是配好了,特地记录下来!
1.Ubuntu16.04系统安装
使用U盘制作系统盘。
2.显卡驱动安装
本人使用的驱动版本是381,首先禁用第三方驱动nouveau。刚开始由于未禁用nouveau导致安装NVIDIA驱动后
电脑一直卡在登录界面,如果安装NVIDIA驱动后无限卡在登录界面,需要进入tty模式卸载NVIDIA驱动,
ctrl+alt+F1进入tty模式输入用户名和密码,输入命令sudo apt-get purge nvidia*,驱动卸载完成以后
sudo reboot重启电脑
把nouveau添加到blacklist
sudo gedit /etc/modprobe.d/blacklist.conf
在文件最后添加
blacklist nouveau
options nouveau modeset=0
保存文件,然后执行如下命令更新系统
sudo update-initramfs -u
重启电脑,检查nouveau是否禁用成功
lsmod | grep nouveau
若无内容提示则说明禁用成功,可以开始安装NVIDIA驱动了。
ctrl+alt+F1进入tty模式,
执行如下命令
sudo service lightdm stopt或者sudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-381.22.run -no-opengl-files(重要!!一定不要安装opengl)
安装完成后执行
sudo service lightdm start或者sudo /etc/init.d/lightdm start
重启电脑,执行命令nvidia-smi查看nvidia驱动是否安装成功
如果安装过程中提示需要内核签名,NVIDIA驱动在安装的过程中会生成一对公钥、私钥,需要把这对秘钥添加到
系统信任列表里面,本尝试过几次后都失败了,所以只能放弃这种办法,采用另一个办法,就是进主板BIOS,在
里面找到Boot把里面的Secure Boot选项设置为禁用,然后从新安装NVIDIA驱动。
2 安装cuda8.0
从官网下载cuda8.0安装文件
sudo ./cuda_8.0.61_375.26_linux.run
其中是否安装显卡驱动选择否,因为前面已经安装了显卡驱动
配置环境变量
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}}
保存文件,环境变量立即生效
source ~/.bashrc
3 opencv安装
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE-D CMAKE_INSTALL_PREFIX=/usr/local-D WITH_TBB=ON-D WITH_V4L=ON-D BUILD_TIFF=ON-D BUILD_EXAMPLES=ON-D WITH_OPENGL=ON-D WITH_EIGEN=ON-D WITH_CUDA=ON-D WITH_CUBLAS=ON..
make-j8
sudo make install
4 安装依赖库
sudo apt-get install libboost-all-dev libleveldb-dev libsnappy-dev liblmdb-dev libhdf5-serial-dev libgoogle-glog-dev libgflags-dev
由于使用的是Python3.5版本所以需要单独安装protobuf3.0.0版本
从github上下载protobuf3.0.0版本自行编译下载地址点击打开链接
编译过程中可能会出现提示下载 gmock-1.7.0.zip这个失败的提示,这时就需要从网上下载这个软件包,然后在autogen.sh
这个文件中把下载文件的代码注销掉,把下载好的gmock-1.7.0.zip放在protobuf3.0.0文件夹中。
5 安装anaconda3 Python3.5版本
bash Anaconda3-4.2.0-Linux-x86_64.sh
6 安装caffe
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
修改配置文件Makefile.config
USE_CUDNN := 1
OPENCV_VERSION := 3
ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python3.5m \
$(ANACONDA_HOME)/lib/python3.5/site-packages/numpy/core/include \
PYTHON_LIBRARIES := boost_python3 python3.5m
WITH_PYTHON_LAYER := 1
然后把下面两行
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改成
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 /usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile文件:
把代码
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
把
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
编辑/usr/local/cuda/include/host_config.h
把#error-- unsupported GNU version! gcc versions later than 5 are not supported!
修改为
//
#error-- unsupported GNU version! gcc versions later than 5 are not supported!
开始编译caffe
make -j8
make test
make runtest
make pycaffe