Ubuntu 14.04 + cudnn8.0

about

声明: 此文并非原创,我只是个搬运工罢了(尽做些Ctrl+C, Ctrl+V的工作)。作为一个小白,只是为了方便日后学习。如得罪版权,请多多包含。感谢下面大神劳助。

本博文参考了
autocyzUbuntu16.04+cuda8.0+caffe安装教程
Hungryof linux替换cudnn版本
AbsentM's64位Ubuntu 14.04 LTS + Caffe + CUDA 7.5 + Opencv 3.0 安装配置实战
DoralCaffe安装问题汇总
githubfatal error: caffe/proto/caffe.pb.h: No such file or directory #105

0. Pre-Installation

  • 0.1. 先到NVIDIA官网查看,Compute Capability这项是否达到了3.0,如果不是,那么不用装了,下面的不用看了。

!Note:

  1. 官网有说明cuDNN Install Guide
PREREQUISITES
    ... a GPU of compute capability 3.0 or higher are required.
  1. 在查看Compute Capability这一项时,请注意,左侧的是:..Desktop Products,右侧的是Notebook Products, 就是台式机和笔记本的区别。
    GPU.png
  • 0.2 已装好了 cuda8.0,可查看教程Ubuntu 14.04安装CUDA-8.0

  • 0.3到NVIDIA官网注册填个问卷然后下载对应版本的cudnn(本文选的是cuDNN v5.1 Library for Linux, 下早到的是一个cudnn-8.0-linux-x64-v5.1.tgz文件)

    cuDNN.png

1. Installation

  • 解压
$ tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ sudo cp include/cudnn.h /usr/local/cuda/include/ 
  • 更新软连接:
$ sudo rm -rf libcudnn.so libcudnn.so.5          #删除原有动态文件
$ sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 
$ sudo ln -s libcudnn.so.5 libcudnn.so

!Note: 可能遇到的问题:

  • 之前安装了某个cuDNN的版本,想替换为新的: 解决方法是删除掉原先的,重新装新的cuDNN
    删除旧的
$ cd /usr/local/cuda/lib64
$ sudo rm libcudnn*

然后再按照上述方法安装新的

  • 可用ll命令查看那些软连接
$ cd /usr/local/cuda/lib64
$ ll | grep libcudnn
lrwxrwxrwx  1 root root        13 12月  1 23:12 libcudnn.so -> libcudnn.so.5*
lrwxrwxrwx  1 root root        17 12月  1 23:11 libcudnn.so.5 -> libcudnn.so.5.1.5*
-rwxr-xr-x  1 root root  79337624 12月  1 23:09 libcudnn.so.5.1.5*
-rw-r--r--  1 root root  69756172 12月  1 23:09 libcudnn_static.a

2 Post-Installation

  • 编译caffe
    ~/caffe/Makefile.config中,去掉 USE_CUDNN := 1的注释
    执行
$ make clean # 第一次编译不用这句,出错时也可使用这句。
$ make all
$ make test
$ make runtest

!Note: 可能遇到的错误

  • 在执行
$ make all

时遇到

error:‘CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING’ was not declared in this scope

是因为当前的cuDNN版本过低,请自行下行高版本的,再重新装一遍。

  • 在执行
$ make runtest

时遇到

error:
./include/caffe/util/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
 #include "caffe/proto/caffe.pb.h"

解决方法:

# 当前目录为caffe,如不是,执行cd caffe
$ protoc src/caffe/proto/caffe.proto --cpp_out=.      
$ mkdir include/caffe/proto
$ mv src/caffe/proto/caffe.pb.h include/caffe/proto

再重新编译

$ make clean
$ make all
$ make test
$ make runtest
  • 在执行
$ make runtest

时遇到

error:
.build_release/tools/caffe
make: .build_release/tools/caffe: Command not found
make: *** [runtest] Error 127

那是因为先前没有执行make all,make test造成的,不要偷懒,在遇到上面的错误时,执行

$ make clean
$ make all
$ make test
$ make runtest
  • 在执行
$ make runtest

时遇到

F1202 12:26:03.474925 16455 cudnn_softmax_layer.cpp:15] Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)  CUDNN_STATUS_ARCH_MISMATCH
*** Check failure stack trace: ***
    @     0x2b5817a9cdaa  (unknown)
    @     0x2b5817a9cce4  (unknown)
    @     0x2b5817a9c6e6  (unknown)
    @     0x2b5817a9f687  (unknown)
    @     0x2b581bca72b5  caffe::CuDNNSoftmaxLayer<>::LayerSetUp()
    @     0x2b581bd6b6a7  caffe::SoftmaxWithLossLayer<>::LayerSetUp()
    @     0x2b581bdf870c  caffe::Net<>::Init()
    @     0x2b581bdf9d4b  caffe::Net<>::Net()
    @           0x5ac4a0  caffe::NetTest<>::InitNetFromProtoFileWithState()
    @           0x561c8b  caffe::NetTest<>::InitAllInOneNet()
    @           0x578ad0  caffe::NetTest_TestAllInOneNetVal_Test<>::TestBody()
    @           0x8fd933  testing::internal::HandleExceptionsInMethodIfSupported<>()
    @           0x8f4617  testing::Test::Run()
    @           0x8f46be  testing::TestInfo::Run()
    @           0x8f47c5  testing::TestCase::Run()
    @           0x8f7b08  testing::internal::UnitTestImpl::RunAllTests()
    @           0x8f7d97  testing::UnitTest::Run()
    @           0x46ccff  main
    @     0x2b581ccb0f45  (unknown)
    @           0x474979  (unknown)
    @              (nil)  (unknown)
make: *** [runtest] Aborted (core dumped)

是因为你的N卡的GPU的Compute Capability低于3.0,不符合cuDNN的硬件要求,这时,不用装cuDNN了,把在~/caffe/Makefile.config中的 USE_CUDNN := 1的注释加上

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

推荐阅读更多精彩内容