Caffe学习(一):安装配置Caffe超详细教程(GPU版本) CUDA10.0+cudnn7.6.0+OpenCV3.4.5

我的电脑配置是
GPU RTX 2080显卡
CPU i7-8700 3.2GHz
从安装好ubuntu16.04系统开始说起:
1.安装好系统后,第一步安装google浏览器和搜狗输入法,并更新好系统配置。
google浏览器和搜狗输入法都可以直接通过浏览器直接搜索软件下载安装,提供ubuntu版本。
2.更改源:勾选源代码,选择aliyun源
在这里插入图片描述
3.安装显卡驱动:
3.1安装依赖项,按照顺序复制到终端安装即可:

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
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

3.2卸载电脑已经有的nvidia显卡驱动:

sudo apt-get remove –purge nvidia*

3.3添加一个PPA到系统,等一下安装驱动要用的

sudo add-apt-repository ppa:graphics-drivers/ppa

3.4执行下面的命令让上面执行的命令生效,然后重启电脑:

sudo apt-get update 

3.5安装显卡驱动:
重启过后,打开系统设置,选择软件和更新,选择附加驱动,这里就会显示你的显卡所能安装的显卡,我在这里安装了NVIDIA 418.56 直线选择这个驱动,然后点击应用更改即可。静静等待安装,然后重启电脑后,显卡就安装成功了。

在这里插入图片描述
在终端里面输入:nvidia-smi 可以查看当前显卡驱动情况
在这里插入图片描述
4.安装CUDA
4.1首先去官网下载你想安装的CUDA版本,我在这里安装是CUDA10.0
在这里插入图片描述
4.2下载好后放在home文件下
打开一个新的终端,在终端输入:

sudo chmod 777 cuda_10.0.130_410.48_linux.run

然后输入:

sudo ./cuda_10.0.130_410.48_linux.run

开始安装,点击q进入安装界面,然后按照下面的操作进行安装,就是显卡驱动选择N 别的都Y 或者空格就行了。
在这里插入图片描述
等待一会就提示下图所示,显示已经安装成功了。
在这里插入图片描述
4.3环境变量的配置
打开~/.bashrc文件: sudo gedit ~/.bashrc
将以下内容写入到~/.bashrc尾部:

export  PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export  LD_LIBRARY_PATH=/usr/local/cuda10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

你安装什么版本的CUDA就要改成什么版本,我这里安装的10.0 所以里面是10.0
ctrl +s 保存 再退出
4.4 测试example,打开终端执行下面命令

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery 
sudo make 
sudo ./deviceQuery 

在这里插入图片描述
出现如下界面显示CUDA成功
5.安装Cudnn
一般计算力大于3才行,也可以不安装。
这是cudnn官网,https://developer.nvidia.com/rdp/cudnn-download
在这里下载对应的cudnn版本,需要提前注册一个NVIDIA账号才能下载。
在这里插入图片描述
选择 cuDNN library for linux 下载好后,
解压sudo tar -zxvf ./cudnn-10.0-linux-x64-v7.6.0.tgz
解压出来一个叫cuda的文件夹,该文件夹下有include 和 lib64 两个文件夹,命令行进入其中的include 文件夹路径下,然后进行以下操作:

sudo cp cudnn.h /usr/local/cuda/include/

然后命令行进入cudn/lib64 文件夹路径下,运行以下命令:(这里针对的是cudnn7.6.0的安装,其他版本修改对应的办版本名称即可)

sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.7  #删除原有动态文件
sudo ln -s libcudnn.so.7.6.0libcudnn.so.7  #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so  #生成软链接

随后需要将路径/usr/local/cuda/lib64 添加到动态库:
1.终端输入:

sudo gedit /etc/ld.so.conf.d/cuda.conf

添加:

/usr/local/cuda/lib64

保存退出;在终端下输入 sudo ldconfig 命令使上面链接生效,软链接后用sudo ldconfig -v 命令查看是否成功:
显示下面界面表示成功:
在这里插入图片描述
最后一步,验证是否安装成功:
终端输入:nvcc -V 出现下界面则证明cudnn安装成功:
在这里插入图片描述
6安装opencv3.4.5
参考博客:https://mp.csdn.net/mdeditor/88680475#
按照教程来安装即可;这个教程下载的是3.3.1,我在安装3.3.1这个版本发现和CUDA10.0不兼容,然后换成3.4.5后就不会出现错误,按照这个教程也是可以安装的。

7安装Caffe

7.1 安装相关依赖项:

sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-pip
sudo apt-get install gfortran
sudo apt-get install python-protobuf
sudo apt-get install python-skimage
sudo apt-get install --no-install-recommends libboost-all-dev

7.2.使用Git 从github上下载Caffe
地址:https://github.com/BVLC/caffe
在终端执行命令:

git clone https://github.com/BVLC/caffe

下载完成后,在home文件下面用Caffe文件夹

我们接下来按照下面的步骤进行安装Caffe:
1.生成Makefile.config文件,将caffe目录下自带的Makefile.config.example文件复制一份并更名为Makefile.config,命令如下:

cp Makefile.config.example Makefile.config

2.修改配置文件
执行下面命令,打开makefile.config文件:

sudo gedit Makefile.config 

根据自己情况修改:
a.若使用cudnn,将:
#USE_CUDNN := 1
修改为:
USE_CUDNN := 1
b.使用opencv3版本 则:
将:
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.使用Python接口:
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
d.修改Python路径,将:

NCLUDE_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  

e.去掉computer_20:
找到:

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
            -gencode arch=compute_20,code=sm_21 \
            -gencode arch=compute_30,code=sm_30 \
            -gencode arch=compute_35,code=sm_35 \
            -gencode arch=compute_50,code=sm_50 \
            -gencode arch=compute_52,code=sm_52 \
            -gencode arch=compute_60,code=sm_60 \
            -gencode arch=compute_61,code=sm_61 \
            -gencode arch=compute_61,code=compute_61

修改为:

CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
            -gencode arch=compute_35,code=sm_35 \
            -gencode arch=compute_50,code=sm_50 \
            -gencode arch=compute_52,code=sm_52 \
            -gencode arch=compute_60,code=sm_60 \
            -gencode arch=compute_61,code=sm_61 \
            -gencode arch=compute_61,code=compute_61

因为从CUDA9.0后就不在支持compute_20了,这里不修改的话编译的时候就会报错;
3.到这里我们就可以编译Caffe了,依次执行下面命令:

make  all -j8
make pycaffe
make test -j8
make runtest -j8

如果上面的步骤都按照完成的话,make就不会出错,只要make不出错的话,下面的三句命令就会顺利编译完成,需要一点时间。如果make错误的话,针对错误的命令去找解决,一定要耐心,都是可以解决的。
4.修改环境变量:
就是将caffe中的Python导入到解释器中。
执行下面命令打开配置文件bashrc

sudo gedit ~/.bashrc

在文件最后添加:

export PYTHONPATH=/home/zixiang/caffe/python:$PYTHONPATH

在这里一定要注意不能直接复制,这里的路径是自己home文件夹安装Caffe时里面Python接口的路径。所以根据自己安装的地址修改即可,一般只要对应的修改我这个路径里面的zixiang这个名称位置即可。
修改后保存退出,执行下面预命令让修改生效

sudo source ~/.bashrc

5.验证Python接口
在终端中打开Python环境,在Python环境下输入下面命令:

import caffe

没有报错的话就说明Caffe已经安装成功,到这里我们就已经配置好全部的环境了,下面就可以针对自己的目的需要去下载其他的算法。配置环境道理不容易,要耐心,心细。

Caffe中遇到的错误及解决方案:

1.[Errno 13] 权限不够: '/usr/local/lib/python2.7/dist-packages/cloudpickle’
ERROR::未找到命令
解决方案:在安装软件的时候在install后面加上 --user即可

pip install --user scikit-image 

2.Traceback (most recent call last): File “/usr/bin/pip”, line 9, in < module >
解决方案 :
将 /usr/bin/pip 文件中:

from pip import  main
if __name__ == '__main__':
    sys.exit(main())

改为:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

3.ImportError: No module named skimage.io
错误提示:

>>> import caffe
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
  File "caffe/pycaffe.py", line 15, in <module>
    import caffe.io
  File "caffe/io.py", line 2, in <module>
    import skimage.io
ImportError: No module named skimage.io

解决方案;

缺乏skimage工具箱

 pip install  --user scikit-image

参考博客:
https://blog.csdn.net/A_Z666666/article/details/72853346
https://blog.csdn.net/la_fe_/article/details/81516370
https://blog.csdn.net/balixiaxuetian/article/details/79154013

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值