Caffe环境这是第四次配了,第一次是CPU版本,比较简单,很容易就配成功了。后面两次是GPU版本,但总有一堆问题。这次边配环境边记录下来,如果再遇到问题也好查找。版本说明如下:
Caffe: CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)
1.重装系统
2. 安装五笔输入法
由于要边配边记录,所以就先安装输入法了。
sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
im-switch -s ibus
sudo apt-get install ibus-table-wubi
killall ibus-daemon
ibus-daemon -drx
第一条语句是安裝IBus框架,有些版本自带了框架,则不需要安装。
第二条语句是启动IBus框架。(安装的时候提示im-switch: command not found
,原来是现在改成了im-config,然后在选项中选择ibus。)
第三条语句是安装五笔引擎。
第四条重启IBus输入法框架:Kill掉ibus进程(如果ibus没有运行,会显示:
ibus-daemon: no process found
然后
输入ibus-daemon -d
就出来了。)
第五条重启IBus输入法框架:重启进程
3. 装显卡驱动。
显卡型号:GTX950。
查看显卡型号:
lspci | grep VGA
再进入nvidia官网搜索对应的驱动版本。
由于命令行安装比较容易,所以采用命令行安装。
开始安装:
首先按住ctrl+Alt+F1进入文字界面,然后执行以下语句:
sudo apt-get purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-370
sudo reboot
重启后执行:
nvidia-smi
出现以下界面:
则代表显卡驱动安装成功。
顺便说一下截图功能:
进入System Settings--Keyboard--Shortcuts--Screenshots
我设置的:
选中的那个是Alt+print
gnome-screenshot -h
用来查看这些快捷方式
4. cuda8.0安装
简介:
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台CUDA?是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。开发人员现在可以使用C语言来为CUDA?架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA?的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
文件可在https://developer.nvidia.com/cuda-downloads下载。
参考www.itdadao.com/articles/c15a234199p0.html安装。
下载完后进入目录:
cd Downloads/soft/
进行MD5检验,确保安装包正常:
sudo md5sum cuda.run
结果:
检验正确后,输入如下代码安装(第一行修改文件权限,第二行执行文件安装):
chmod 777 cuda.run
sudo ./cuda.run --override
需要一直按住ENTER键。
后面选项答案依次为:
accept
n
y
/usr/local/cuda-8.0
y
y
/home/huhui
第三行配置询问是否要安装nvidia图形驱动器,一定要选n,因为之前已经安装过了,如果再安装则会报错。
如图:
5. CUDNN安装
下载地址:https://developer.nvidia.com/cudnn
cudnn-8.0-linux-x64-v5.1.tgz
进入下载目录:
cd Downloads/soft
我解压到上一层目录:(后面的-C ../不要就是解压到当前目录)
tar zxvf cudnn-8.0-linux-x64-v5.1.tgz -C ../
解压后有个cuda文件,内有include和lib64两个文件夹,进入include文件夹,执行如下命令复制头文件:
cd ../cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
再cd命令切换进lib64文件夹,执行如下命令复制动态链接库:
cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/
然后进入复制后的动态链接库进行新的链接。先进入目录:
cd /usr/local/cuda/lib64/
然后查看已有链接:
ls -al | grep libcudnn
删除原有动态文件:
sudo rm -rf libcudnn.so libcudnn.so.5
再次查看:
ls -al | grep libcudnn
已删除,现在建立新的链接:
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
再次查看
ls -al | grep libcudnn
已链接好!
然后设置环境变量和动态链接库:
sudo gedit /etc/profile
然后再打开的文件末尾加上(“=”前后不要有空格)
export PATH=/usr/local/cuda/bin:$PATH
保存之后创建链接文件:
sudo vim /etc/ld.so.conf.d/cuda.conf
这时出现(若未出现问题可跳过)
于是检查一下vim是否安装:
rpm -qa|grep vim
rpm没有安装,按照提示执行:
sudo apt install rpm
再执行
rpm -qa|grep vim
什么结果也没有返回。于是在命令行输入:
vim
出现结果:
为安装vim,输入命令:
sudo apt install vim
再执行
sudo vim /etc/ld.so.conf.d/cuda.conf
现在可以打开了。在文件加入以下内容:
/usr/local/cuda/lib64
按下esc,按下wq保存后退出。并在终端输入以下命令使该链接生效:
sudo ldconfig
使用sample里面的例子来测试还需要编译。因为当前的cuda还不支持gcc5.0以上的版本,在编译之前,我们需要修改配置文件,否则无法编译成功。(之前试过降低gcc版本,搞了很久没成功,这样改会有warning,但是还是先这样吧。)
cd /usr/local/cuda-8.0/include/
sudo cp host_config.h host_config.h.bak
sudo gedit host_config.h
113行如下:
#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)
说明GCC版本要在5.3以下。查看自己的gcc版本:
gcc --version
5.4的版本,所以这句话需要改,于是我把3直接改成9:
#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)
保存后退出。然后进入用例文件进行编译(注意执行第二步命令时候需要较长时间是正常现象):
cd ~/NVIDIA_CUDA-8.0_Samples/
sudo make -j16
编译成功。
cd bin/x86_64/linux/release/
sudo ./deviceQuery
运行结果:
说明显卡驱动和cuda安装成功。