Ubuntu 16.04+CUDA8.0+cuDNN6.0+caffe (GPU版)

之前安装过一次caffe,这次重新安装没想到又遇到很多问题,之前想写一下安装教程的,当时因为考虑到网上的教程已经有很多了,就没有着手去写。但是从这次的安装情况来看,还是需要认真记录一下安装的过程,以免下一次犯同样的错误,也是为了加深点自己的印象,同时也能作为别人的参考教程。

软件链接: https://pan.baidu.com/s/1eSgtXeE 密码: cmhy

第一步是安装Ubuntu系统

安装系统我也看过许多的教程,其中不变的就是系统分区问题,因为大多数人都是安装双系统,或者是虚拟机上安转,但是有一点意见就是尽量安装LTS的版本,也就是偶数开头的(如 Ubuntu 16.04)。至于怎么安装就不在这里赘述。

第二步是安装NVIDIA显卡

首先必须是NVIDIA的显卡才可以GPU加速计算,先去NVIDIA官网上(http://www.nvidia.com/Download/index.aspx?lang=en-us图一 查询一下你显卡型号所需要的驱动,例如我的是GTX780Ti,需要的驱动是384.90图二
然后去设置->软件与更新 先把第一项中 Download from选择一个国内的下载源,aliyuncn99都可以,然后在附加驱动 这里换成你的驱动型号,然后apply changes 完成之后重新启动,或者log out在命令行中输入nvidia-smi如果有GPU清单,则显卡安装成功。图三
如果这里没有与你相同的选项,那只能通过刚才的网址(http://www.nvidia.com/Download/index.aspx?lang=en-us)那下载驱动,然后安装,如果选一个不支持的驱动的可能出现循环登录的问题。
如果有驱动选项的可以跳过安装驱动的部分,进入下一步。
驱动安装有两种方法

  1. 第一种方法就是通过上面所说的,下载官网的安装包,然后按照提示安装,比如说刚才下载的软件是NVIDIA-Linux-x86_64-384.90.run安装时候首先要Ctrl+Alt+F1进入命令行模式,然后要关掉X server, 最后通过./NVIDIA-Linux-x86_64-384.90.run命令来安装驱动,按照提示安装即可。
  2. 第二种方法是通过命令行的形式安装。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install**nvidia-367**(要根据自己的型号更换)
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

安装完成后要重新启动。在命令行中输入nvidia-smi如果有GPU清单,则显卡安装成功

第三步是安装CUDA

  1. 进入cuda的下载目录后,执行以下命令安装图四
    sudo sh cuda_8.0.44_linux.run
    安装过程中有
    Accept EULA conditions accpet
    Say YES to installing the NVIDIA driver No
    Say YES to installing CUDA Toolkit + Driver yes
    Say YES to installing CUDA Samples yes
    尤其注意问是否安装驱动要拒绝安装,因为我们前面已经安装过驱动。
  2. 安装完毕后要声明一下环境变量,执行如下代码
    vi ~/.bashrc
    将下面两行代码写到文件末尾
    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  3. 设置环境变量和动态链接库
    sudo gedit /etc/profile
    在打开的文件末尾加入:
    export PATH=/usr/local/cuda/bin:$PATH
  4. 保存之后,创建链接文件:
    sudo gedit /etc/ld.so.conf.d/cuda.conf
    在打开的文件中添加如下语句:
    /usr/local/cuda/lib64
    然后执行以下命令使链接立即生效。
    sudo ldconfig
  5. 最后测试一下cuda的例子,检查cuda是否安装成功。安装完cuda后必须重启电脑,才能让显卡配置生效!
    usr/local/cuda/samples
    sudo make all -j8
    继续进入到samples/bin/x86_64/linux/release目录下,在终端执行查询命令:
    ./deviceQuery
    如果返回你电脑显卡信息,结尾有Result=PASS,则安装成功。图五

第四步安装cuDNN

下载完cudnn6之后进行解压,cudnn-8.0-linux-x64-v6.0.tgz解压之后在命令行进行如下操作:
cd cuda
cd include
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
更新软链接:

cd ..
cd lib64
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.6.0.21(或你自己的版本对应的)
sudo ln -sf libcudnn.so.6.0.21 libcudnn.so.6  
sudo ln -sf libcudnn.so.6 libcudnn.so  
sudo ldconfig                           #使链接生效

第五步安装caffe

1.安装caffe安装的基本依赖库

sudo apt-get install git
sudo apt-get install build-essential
sudo apt-get python
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-dev
  1. 下载caffe-master或其他版本的caffe
    cd $CAFFEROOT$ //进入caffe的根目录
    配置caffepython环境
cd python
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
sudo pip install pydot

修改配置文件
sudo cp Makefile.config.example Makefile.config
//将Makefile.config.example的内容复制到Makefile.config
//因为make命令只能操作Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子

  1. sudo gedit Makefile.config //打开Makefile.config文件
    改如下几个部分
    改Makefile.config文件中
    USE_CUDNN := 1
    WITH_PYTHON_LAYER := 1#为了使用python来编写layer,将注释去掉
    Whatever else you find you need goes here.下面的INCLUDE_DIRS与LIBRARY_DIRS := $(PYTHON_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的位置,所以需要更改这一路径
  1. 修改Makefile文件中

    NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
    替换
    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    退出保存
  2. 在caffe的根目录下新建build文件夹
    mkdir build
    cd build
    sudo cmake .. -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DUSE_CUDNN=OFF
    如果没有报错则进行下一个命令
    sudo make -j8 这个数字是根据内存的大小选择的(4表示采用4核,当然如果你是8核你也可以用8)
  3. 需要将编译好的caffe写入到环境变量中,执行如下命令
    vi ~/.bashrc
    在末尾加入
    export PYTHONPATH=/home/到caffe根目录的路径/caffe-segnet-cudnn5-maste/python:$PYTHONPATH
    退出保存
    在命令行中输入
    python
    import caffe
    如果没有报错则安装正确。

参考链接

http://blog.csdn.net/sinat_14916279/article/details/53844963
http://blog.csdn.net/autocyz/article/details/52299889#insertcode
http://www.mobibrw.com/2017/7285

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容