Caffe+Ubuntu16.04+cuda8.0安装步骤

来源:互联网 发布:淘宝做任务送礼物 编辑:程序博客网 时间:2024/05/14 06:19

安装这个东西真是麻烦,昨天刚安装完毕,早上重启电脑,系统崩了,内心一万头草泥马在奔腾
重新安装所有一切,并记录在此

ubuntu安装

采用硬盘安装方式,详细步骤见easyBCD安装ubuntu
本人的硬盘分区方案:/:100G;/swap:8G;/boot:1G;/home:all left.

Anacanda安装

个人觉得这个工具比较好,手头上有安装包,于是就先装了一下这个,按照官网说明即可。

./Ana...h在anaconda3/bin目录下执行anaconda-navigator即可启动,也可在环境变量中添加

Anaconda

CUDA-8.0安装

在cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb所在目录执行:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.debsudo apt-get updatesudo apt-get install -y cuda

之后产生cuda文件夹
cuda目录
添加环境变量,在/etc/profile文件中添加如下代码:

export PATH=/usr/local/cuda/bin:$PATHsource ~/.bashrc

nvcc运行测试
Tips:我在这里执行source 提是sudo: source:找不到命令,left a question:

安装cuDNN

执行

$ tar zxvf cudnn-8.0-linux-x64-v6.0.tgz$ cd cuda$ sudo cp include/cudnn.h /usr/local/include$ sudo cp lib64/libcudnn.* /usr/local/lib$ sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5$ sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so$ sudo ldconfig -v

cudnn install

安装Matlab

将Mathworks.Matlab.R2014a.Unix.iso - 右键 - 使用磁盘映像挂载器打开”,进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹(PS:取名不要有空格)
复制Crack/install.jar至 home/Matlab/java/jar/ 并覆盖源文件

sudocpinstall.jar/home/Matlab/java/jar/ chmod a+x Matlab -R
$ sudo ./install
选项:不使用Internet安装
序列号: 12345-67890-12345-67890
默认路径:/usr/local/MATLAB/R2014a
勾选从默认启动路径创建符号链接(实现在任意位置运行matlab启动程序)
激活文件:license_405329_R2014a.lic
拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64

$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/
终端输入matlab即可启动Matlab。
到这里重新启动一次计算机,防止遇到上次重启之后电脑崩溃的现象,《非bixu》

下载caffe,同时下载vimplus

git clone https://github.com/BVLC/caffegit clone https://github.com/chxuan/vimplus

安装MKL

执行一下命令
tarzxvfparallelstudioxe2016.tgz chmod a+x parallel_studio_xe_2016 -R
$ sh install_GUI.sh
安装序列号:2HWS-FXV5CJV6,(可自行申请,这个不保证岁随时可用)
注意文件夹路径不要有空格
MKL与CUDA的环境设置
1.新建intel_mkl.conf, 并编辑之:
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2.新建cuda.conf,并编辑之:

$ sudo gedit /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64
/lib

3.完成lib文件的链接操作,执行:

$ sudo ldconfig -v

安装OpenCV

使用文件夹中的Install-OpenCV-master 安装。
sudoshUbuntu/dependencies.sh sudo sh Ubuntu/3.0/opencv3_1_0.sh

出现的问题
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
原因:
系统找的是一个符号连接,而不是一个文件。
解决方法:
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
sudo ldconfig -v

遇到问题:graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
打开/home/yhy/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp
解决方法:
打开/home/yhy/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp
把此处改为:

include “precomp.hpp”

if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) ||(CUDART_VERSION>=8000)

其中 ||(CUDART_VERSION>=8000)为后增加的内容
仍然有nppiGraphcut8_32f8u未定义的问题:::
(here look)最后用了一个小trick’安装OpenCV通过:我干嘛非要编译Graphcut.cpp呢,if (!去掉这个取反)defined (HAVE_CUDA) || defined (CUDA_DISABLER)

在重启一波试试

安装其他依赖项

参照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

caffe build

复制并修改Makefile.config文件:
设置如下:

这里写代码片

sudo make all -j16
提示:/include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: 没有那个文件或目录
解决:
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

再此出现问题:@GLIBCXX_3.4.21’未定义的引用
解决:conda install libgcc

sudo make test -j16

sudo make runtest -j16
遇到问题:error while loading shared libraries: libhdf5_hl.so.10: cannot open shared object file: No such file or directory
在anaconda3/lib目录下执行如下命令
sudo cp libhdf5_hl.so.10 /usr/lib/x86_64-linux-gnu/
sudo cp libhdf5.so.10 /usr/lib/x86_64-linux-gnu/

之后通过

小编咩有链接Matlab。

Test

1.数据预处理

$ sh data/mnist/get_mnist.sh
1
1
2.重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh
1
1
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

3.训练mnist

$ sh examples/mnist/train_lenet.sh

重新启动电脑看看。

总结

过程艰辛,装过几次的人都得费好大一回劲,尤其是OpenCV(建议用新版本)安装和后边出现的各种错误。参照了欧新宇安装介绍。

原创粉丝点击