Ubuntu16.04+caffe+CUDA8.0+cuDNN v5+opencv3.1.0编译
2018-03-12 17:37
621 查看
Ubuntu16.04+caffe+CUDA8.0+cuDNN v5+opencv3.1.0编译
这篇caffe安装非常不错,但是里面因为时间的原因,有些操作已经不能用了而且原文涉及到一些小问题,小编我是生怕之后自己的ubunutu崩掉,就将其错误改正,重新写了写。还有就是看得多了,容易只看代码,将代码上下的操作老师忘记,所以特此将重点红色标注。并将自己的makefile文件和makefile.config以及ippicv_linux_20151201.tgz链接良心附上: https://pan.baidu.com/s/1LoT0UCadm3mkLYBJo6hOSQ 密码: 84dc1.安装Ubuntu16.04
Win10下UEFI环境安装Ubuntu 16.04双系统教程,亲测有效 安装ubuntu双系统。
在安装完之后,搜索-软件和更新,更新服务源,我选的阿里的服务器。
如果你是初次接触linux系统或ubuntu系统,建议你在装好Ubuntu系统后不要急着进行下一步,可以了解学习一下linux系统基础和基本指令 linux基础和命令
2.安装NVIDIA显卡驱动
(1) 安装NVIDIA
直接终端下输出以下命令,不需要禁用开源驱动和关闭lightdm。
如果你选择安装CUDA(本人主要是用于caffe),可以选择直接安装CUDA,不需要安装NVIDIA驱动(CUDA中自带NVIDIA驱动)。但是要选择直接deb安装,不要选择run安装,否则会出现无限登陆的问题。之后重启电脑,使驱动生效。sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nvidia-384 (2) 关闭安全模式
开机长按ESC,之后进bios选项,选择secure里面的securty boot修改为disable。 然后选择ubuntu系统进入之后,在终端下输出:nvidia-smi会显示你的显卡相关信息,证明你的NVIDIA驱动已经安装好了。也可以下搜索下搜索 详细信息,可以看到 图形下会显示你的NVIDIA的显卡型号,我的是GeoForce 940MX。
3.安装CUDA8.0
下载的是离线.deb包进行安装 CUDA8.0下载, 官网总是下一半,就失败了,简直“屡试不爽”。这里附上我的链接cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb 下载链接: https://pan.baidu.com/s/18AXEM3CouQKrc-lnIwYYXQ 密码: qevs
下载完成之后,打开命令行终端,进入到.deb包的下载目录下,依次执行以下命令,其中第一个指令中的.deb包就是自己下载的.deb包名。
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb sudo apt-get update sudo apt-get install cuda安装完cuda后必须重启电脑,才能让显卡配置生效!
4.安装cuDNN v5
先说明一下,cuDNN v4是不支持ssd的,并且用v4编译faster r-cnn后测试score时结果不对,faster r-cnn默认是v3,通过替换和修改少量文件即可使用v5,因此在这里强烈建议大家使用v5版本。到NVIDIA官网下载cuDNN,进去要先用邮箱注册一下,填个问卷,很快的。选择cuDNN v5(May 27,2016),for CUDA 8.0下载,官网下载地址: cuDNN v5下载
下载之后进入到下载文件所在文件夹,解压,进入cuda文件夹下,并执行相关文件的拷贝:
tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz(或你的版本对应的压缩包) cd cuda sudo cp lib64/lib* /usr/local/cuda/lib64/ sudo cp include/cudnn.h /usr/local/cuda/include/然后更新软连接:
cd /usr/local/cuda/lib64/ sudo chmod +r libcudnn.so.5.0.5(或你自己的版本对应的) sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5 sudo ln -sf libcudnn.so.5 libcudnn.so sudo ldconfig5.添加环境变量
编辑计算机文件夹下的/etc/profile(可以在终端使用以下命令行打开):
sudo gedit /etc/profile在文件末尾加入CUDA环境变量,保存。
PATH=/usr/local/cuda/bin:$PATH export PATH保存后在终端执行以下命令使其生效:
source /etc/profile然后,进入到/etc/ld.so.conf.d/文件夹下,执行以下命令,新建了一个cuda.conf文件
sudo gedit cuda.conf在文件中写入并保存:
/usr/local/cuda/lib64保存后使其生效:
sudo ldconfig6.Build CUDA Sample
进入usr/local/cuda/samples,然后build samples,命令如下:
sudo make all -j4(4表示采用4核,当然如果你是8核你也可以用8)继续进入到samples/bin/x86_64/linux/release目录下,在终端执行查询命令:
./deviceQuery如果返回你电脑显卡信息,结尾有Result=PASS,则安装成功,否则,建议重启电脑再尝试查询命令。
7.安装caffe的基本依赖库
首先安装以下软件包括python,不过好像Ubuntu16.04已经自带了。
sudo apt-get install git sudo apt-get install build-essential sudo apt-get install python然后安装caffe依赖库,建议一个一个装
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler libatlas-base-dev8.安装opencv3.1.0
原文的opencv安装,以前我安装的时候还能用,现在不行了,特此做更改。
(1)解压,创建build目录
unzip opencv-3.1.0.zip cd opencv-3.1.0 mkdir build
(2)修改opencv源码,使其兼容cuda8.0
vi opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp修改如下:
将:
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)改为:
#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)
(3)配置opencv,生成Makefile
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..如果因为ippicv_linux_20151201.tgz包下载失败而导致Makefile生成失败,可通过手动下载ippicv_linux_20151201.tgz安装包,将其拷贝至 opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e目录内(这里的目录不敢保证,最好使先让系统自己运行一下,自动生成文件夹后,然后再把压缩包放进去),重新执行配置命令即可。
(4)编译
make -j4编译过程中如果出现如下错误:
/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’: /usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope return (char *) memcpy (__dest, __src, __n) + __n;这是因为ubuntu的g++版本过高造成的,只需要在opencv-3.1.0目录下的CMakeList.txt 文件的开头加入:
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_FORCE_INLINES”)添加之后再次进行编译即可。
(5)安装
sudo make install
(6)查看版本号
pkg-config --modversion opencv9.配置caffe的python环境
先下载caffe-master包,下载后解压,进入caffe-master/python文件夹下,然后在终端执行:caffe-master下载
sudo apt-get install python-pip python-dev build-essential sudo pip install --upgrade pip sudo pip install -r requirements.txt为了后面能够使用python绘制caffe的网络模型等可视化操作,执行:
sudo apt-get install graphviz sudo pip install pydot然后
make pycaffe10.编译caffe(强烈建议直接下载我的makefile先试试,不行再说)
进入到caffe-master文件夹下,复制配置文件,终端执行:
cp Makefile.config.example Makefile.config打开Makefile.config文件,对以下几点去掉注释并修改:
USE_CUDNN := 1 OPENCV_version := 3 USE_OPENCV := 1 USE_LMDB := 1 WITH_PYTHON_LAYER := 1如果只进行以上修改最后编译会报关于hdf5的错,解决方案参照博客 编译caffe时hdf5报错
解决方案如下,首先在Makefile.config文件大概第85行,找到
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include并修改成
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/修改后保存,然后再打开Makefile文件,找到大概第173行
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修改完保存,然后在终端caffe目录下执行编译:
make all -j4 make test -j4 make runtest -j4如果没有报错,那么恭喜你成功了,如果没有成功,请根据报错内容仔细检查整个过程是否有遗漏,或者百度谷歌报错内容来得到解决方案。
11 绘制caffe网络模型
caffe的python目录下有一个draw_net.py是python绘制caffe网络模型的工具。在终端进入caffe的python目录下,执行:
python draw_net.py ../models/bvlc_alexnet/train_val.prototxt alexnet.png就会在caffe的python生成alexnet网络模型可视化图像alexnet.png。
参考链接: http://blog.csdn.net/sinat_14916279/article/details/53844963 opencv3安装参考: http://blog.csdn.net/kexinmcu/article/details/53177238
相关文章推荐
- Ubuntu16.04+caffe+CUDA8.0+cuDNN v5+python编译
- [置顶] Ubuntu16.04 安装cuda8.0+cudnn+anaconda2+opencv-3.1.0+caffe
- Ubuntu 16.04 Cuda 8.0 Opencv 3.1.0 Anaconda2 Caffe 安装
- ubuntu16.04+Cuda8.0+CuDnn v5+OpenCV3.1.0+Matlab2014+Python+Caffe安装
- [置顶] caffe: Ubuntu16.04 + cuda8.0 + cudnn8.0 + opencv3.1.0 + python2.7 + matlab2014b + blas(mkl)
- Ubuntu16.04+cuda8.0+opencv3.0.0 caffe编译的那些坑
- ubuntu16.04+Cuda8.0+CuDnn v5+OpenCV3.1.0+Matlab2014+Python+Caffe安装
- ubuntu16.04+cuda8.0+cudnn5.1+caffe------Opencv3.1.0安装
- ubuntu16.04+CUDA8.0+cuDNN5.1+opencv2.4.13+Anaconda的caffe编译过程
- 使用CMake 2.8 编译OpenCV 3.1.0 + opencv_contrib扩展 (环境ubuntu14.04 CUDA8.0)
- Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法 主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一
- Ubuntu16.04+caffe+cuda8.0+cudnn5.1+opencv配置
- 看这一篇就够了ubuntu16.04,cuda8.0,cudnnV5.1,python2.7,opencv3.3+contrib,caffe
- 超详细 Ubuntu / Ubuntu Kylin 16.04 + OpenCV 2.4 + CUDA 8.0 + cuDNN 5.0 + Caffe_SSD 安装教程
- caffe编译安装( Ubuntu16.04.3+cuda8.0+opencv3.3.0+anaconda3)
- ubuntu 16.04 opencv 3.1.0 + cuda8.0 +cudnn 5.1.5 +caffe
- Ubuntu16.04 +cuda8.0+cudnn+opencv3.1.0+tensorflow+torch配置明细
- Ubuntu16.04 cuda8.0+cudnn5.1 opencv3.3 caffe-faster-rcnn
- [机器学习实战] Ubuntu 16.04 + NVIDIA 384 + OpenCV 3.1.0 + CUDA 8.0 + cuDNN 5.1 踩坑记录
- [Wiki]Ubuntu16.04+CUDA8.0编译Caffe过程