Ubuntu 16.04 + cuda8.0 + opencv3 + caffe的安装,tensorflow-gpu的安装
2017-11-25 23:19
1081 查看
折腾了一天总算把caffe装好了,其实主要是编译库的问题,记录一些坑,跳过就好了。
另外吧,tensorflow-gpu的安装前面安装cuda和cudnn的几步一样,就不另开了吧。
cuda8.0 和 cudnn6.0的安装
tensorflow-gpu 的安装(乱入,可选)
opencv3.1 的安装
caffe的安装
安装cuda8.0
不管是安装tensorflow还是caffe,要用到gpu还是先把cuda装好吧,推荐使用cuda8.0+cudnn6.0。其他新版本使用好像会报错。
window下的安装主要错误其实就是版本的问题,安装cuda8.0然后吧cudnn6.0对应的文件夹下的内容复制过去就好了。
Ubuntu16 cnda+cudnn链接: https://pan.baidu.com/s/1kUYdHwN 密码: v2fz
Windows10 cnda+cudnn链接: https://pan.baidu.com/s/1eSfF8CM 密码: 9cdc
解压然后运行:
一路选accept,y或者直接回车默认(第一个N卡驱动如果装了可不装)。
添加环境变量:
在后面添加:
解压cudnn并进入其中
运行例子进行测试,如果最后result为pass安装正确:
安装tensorflow-gpu
前面的弄好了其实也就一句话的事情了
安装opencv
为了编译opencv和caffe,这里需要下一堆库,也是很容易出错的地方。有些库对Python3支持不好,强烈建议切换到用Python2环境下安装(我用Python3试了一下午还是报错)
安装库
从http://opencv.org下载3.1版本解压到需要安装存放opencv的目录并进入,我的是~/software/opencv:
安装caffe
caffe的安装和opencv类似,都要下载编译,下载并解压移动到安装目录:
另外吧,tensorflow-gpu的安装前面安装cuda和cudnn的几步一样,就不另开了吧。
cuda8.0 和 cudnn6.0的安装
tensorflow-gpu 的安装(乱入,可选)
opencv3.1 的安装
caffe的安装
安装cuda8.0
不管是安装tensorflow还是caffe,要用到gpu还是先把cuda装好吧,推荐使用cuda8.0+cudnn6.0。其他新版本使用好像会报错。
window下的安装主要错误其实就是版本的问题,安装cuda8.0然后吧cudnn6.0对应的文件夹下的内容复制过去就好了。
Ubuntu16 cnda+cudnn链接: https://pan.baidu.com/s/1kUYdHwN 密码: v2fz
Windows10 cnda+cudnn链接: https://pan.baidu.com/s/1eSfF8CM 密码: 9cdc
解压然后运行:
sudo sh cuda_8.0.27_linux.run
一路选accept,y或者直接回车默认(第一个N卡驱动如果装了可不装)。
添加环境变量:
sudo gedit ~/.bashrc
在后面添加:
# cuda export CUDA_HOME=/usr/local/cuda-8.0 export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64 export LIBRARY_PATH=$LIBRARY_PATH:$CUDA_HOME/lib64
解压cudnn并进入其中
cd cuda:
sudo cp lib64/lib* /usr/local/cuda-8.0/lib64/ sudo cp include/cudnn.h /usr/local/cuda-8.0/include/ sudo apt-get install nvidia-modprobe
运行例子进行测试,如果最后result为pass安装正确:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery make sudo ./deviceQuery
安装tensorflow-gpu
前面的弄好了其实也就一句话的事情了
pip install --user tensorflow-gpu # 测试 python import tensorflow # 回车之后没有报错基本就可以说安装好了
安装opencv
为了编译opencv和caffe,这里需要下一堆库,也是很容易出错的地方。有些库对Python3支持不好,强烈建议切换到用Python2环境下安装(我用Python3试了一下午还是报错)
这一步非必须,个人觉得比较大的坑所在,建议设置 # 设置Python版本索引 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 2 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 3 # 选择Python版本 sudo update-alternatives --config python
安装库
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
从http://opencv.org下载3.1版本解压到需要安装存放opencv的目录并进入,我的是~/software/opencv:
cd ~/software/opencv mkdir build //建立一个build目录,把cmake的文件都放着里边 cd build //进入build目录 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CUDA_NVCC_FLAGS=--Wno-deprecated-gpu-targets .. make -j7 # 并行运行七个jobs,这一步也在build目录中进行 sudo make install # 测试,可跳过 cd ~/software/opencv/samples/python/ python asift.py
安装caffe
caffe的安装和opencv类似,都要下载编译,下载并解压移动到安装目录:
git clone https://github.com/BVLC/caffe.git[/code]
unzip后我放在了:mv caffe ~/software/
进入编译cd ~/software/
先修改一些配置文件:cp Makefile.config.example Makefile.config gedit Makefile.config 1.若使用cudnn,去掉“#”注释符,即 #USE_CUDNN := 1 修改成: USE_CUDNN := 1 2.若使用的opencv版本是3的,去下“#”号 #OPENCV_VERSION := 3 3.若要使用python来编写layer,则去下“#”号 #WITH_PYTHON_LAYER := 1 4.重要的一项 : 将# Whatever else you find you need goes here.下面的 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 #这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的#hdf5的位置,所以需要更改这一路径. 5.编译 make all -j7 #-j根据自己电脑配置决定 sudo make runtest
注意,上面的第五步很可能出问题,这是因为我们的cudnn只是下载复制文件,并没有添加到系统的动态链接库中,会出现无法找到的错误:.build_release/tools/caffe: error while loading shared libraries: libcudnn.so.6: cannot open shared object file: No such file or directory # 还可能出现cuda的问题 error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
上面两个问题的解决方法类似,把需要的库添加即可:# 进入cuda相关库文件夹 sudo rm -rf libcudnn.so libcudnn.so.6 # 去掉可能存在的错误链接库 sudo rm -rf libcudnn.so libcudnn.so.6 # 新建链接 sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.6.0.21 /usr/local/lib/libcudnn.so.6 && sudo ldconfig # 下面的也执行无妨,以防cuda8.0的库出现问题 sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
然后再重新执行第五步即可。
测试训练,你以为前面就完了,可能没呢1.将终端定位到Caffe根目录 cd ~/caffe 2.下载MNIST数据库并解压缩 ./data/mnist/get_mnist.sh 3.将其转换成Lmdb数据库格式 ./examples/mnist/create_mnist.sh 4.训练网络 ./examples/mnist/train_lenet.sh
如果没问题,那就如下盗的图,如果有,那很可能是驱动问题
驱动问题
前面没说驱动的问题,然后就打脸了(手动滑稽),运行caffe的时候出现了问题Cannot create Cublas handle. Cublas won't be available.
自己安装和cuda选择安装的显卡驱动版本都太高了,果然很多坑啊,选择375版本的。安装方式一(推荐): 下载NVIDIA驱动: https://pan.baidu.com/s/1kUYdHwN 密码: v2fz # 添加执行权限 chmod +x NVIDIA-Linux-x86_64-375.66.run # 先按Ctrl + Alt + F1到控制台,关闭当前图形环境 $sudo service lightdm stop # 再安装驱动程序 $sudo sh NVIDIA-Linux-x86_64-xxx.run # 测试,会显示显卡驱动 nvidia -smi # 最后重新启动图形环境 $sudo service lightdm start安装方式二(可能会被系统还原为384): 1. 删除之前安装的nvidia驱动,运行 sudo apt-get purge nvidia-* 2. 添加第三方驱动源,运行 sudo add-apt-repository ppa:graphics-drivers/ppa 或者 sudo apt-add-repository ppa:xorg-edgers/ppa 3. 更新源,运行 sudo apt-get update 4. 查询nvidia驱动可用版本,运行sudo apt-cache search nvidia-* 查询相应版本 4. 安装驱动,运行 sudo apt-get install nvidia-375
主要参考
https://zhuanlan.zhihu.com/p/27901356
http://blog.csdn.net/u010454261/article/details/71268325?utm_source=itdadao&utm_medium=referral
https://zhidao.baidu.com/question/1115001642352097179.html
感谢以上三位大佬以及一些百度过但是不记得链接的网友
相关文章推荐
- ubuntu16.04 安装CUDA 8.0 和 cuDNN 5.1 /cudnn6.0,可适用于gpu版本的(tensorflow,caffe,mxnet)
- Caffe安装:Ubuntu16.04 + GPU + CUDA-8.0 + cuDNN v5.1 + OpenCV 3.0.0 + Anaconda2
- win10+ubuntu16.04+cuda+opencv3.2+caffe(gpu)+tensorflow(gpu)
- Ubuntu 16.04 Cuda 8.0 Opencv 3.1.0 Anaconda2 Caffe 安装
- 心酸的Caffe安装之路 环境搭配 Ubuntu16.04+gtx1080+cuda8.0+cudnn5.1+opencv+Anaconda3+caffe
- ubuntu16.04系统下CUDA8.0和CUDNN6.0和tensorflow(GPU)的安装
- ubuntu16.04+cuda8.0+cudnn5.1+caffe------Opencv3.1.0安装
- ubuntu16.04下安装CUDA cuDNN及tensorflow-gpu版本及caffe-gpu过程
- Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(Simple)
- [置顶] Ubuntu16.04 安装cuda8.0+cudnn+anaconda2+opencv-3.1.0+caffe
- Ubuntu16.04 / Windows10 安装 Tensorflow GPU版教程 CUDA9.0 - 请转CDA8.0
- 超详细 Ubuntu / Ubuntu Kylin 16.04 + OpenCV 2.4 + CUDA 8.0 + cuDNN 5.0 + Caffe_SSD 安装教程
- [置顶] Tensorflow GPU安装指南 (Ubuntu 16.04 anaconda cuda8.0 cuDNN6.0)
- Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程
- (亲测可用)ubuntu16.04安装+cuda8.0+cudnn5.1+MXNET gpu版本安装+tensorflow gpu版本安装+chainerGPU版本安装
- ubuntu16.04上安装CUDA8.0 + cuDNN v6 + tensorflow-gpu1.4
- Ubuntu16.04 安装 CUDA8.0 + cudnn5.1 + TensorFlow(GPU) 详细过程
- ubuntu16.04安装+cuda8.0+cudnn5.1+MXNET gpu版本安装+tensorflow gpu版本安装+chainerGPU版本安装
- ubuntu16.04安装NIVIDIA显卡驱动,cuda8.0,cuDNN6.0以及基于Anaconda安装Tensorflow-GPU
- Ubuntu16.04下安装Cuda8.0+Caffe+TensorFlow-gpu+Pycharm过程(2018年1月23)