由于一些缘由仍是须要使用别人基于Caffe的代码,可是代码比较老,默认不支持高版本的cuda或者cudnnbash
怎么办呢?基本上就是把最新官方Caffe-BVLC的几个关键文件拿过来替换便可。markdown
脚本以下:app
######################################################################### # File Name: xxx.sh # Author: ChrisZZ # mail: imzhuo AT foxmail.com # Created Time: 2018年05月18日 星期五 16时20分20秒 ######################################################################### #!/bin/bash # 先准备用到的别人的老本的caffe,好比放在了~/work/caffe_xxx cd ~/work MY_CAFFE=~/work/caffe_xxx # 下载官方的最新Caffe git clone https://github.com/BVLC/caffe caffe-BVLC --depth=1 BVLC_CAFFE=~/work/caffe-BVLC # 如今执行以下文件替换。直接执行便可。 cp $BVLC_CAFFE/include/caffe/layers/cudnn_relu_layer.hpp $MY_CAFFE/include/caffe/layers/cudnn_relu_layer.hpp cp $BVLC_CAFFE/include/caffe/layers/cudnn_sigmoid_layer.hpp $MY_CAFFE/include/caffe/layers/cudnn_sigmoid_layer.hpp cp $BVLC_CAFFE/include/caffe/layers/cudnn_tanh_layer.hpp $MY_CAFFE/include/caffe/layers/cudnn_tanh_layer.hpp cp $BVLC_CAFFE/include/caffe/util/cudnn.hpp $MY_CAFFE/include/caffe/util/cudnn.hpp cp $BVLC_CAFFE/src/caffe/layers/cudnn_relu_layer.cpp $MY_CAFFE/src/caffe/layers/cudnn_relu_layer.cpp cp $BVLC_CAFFE/src/caffe/layers/cudnn_relu_layer.cu $MY_CAFFE/src/caffe/layers/cudnn_relu_layer.cu cp $BVLC_CAFFE/src/caffe/layers/cudnn_sigmoid_layer.cpp $MY_CAFFE/src/caffe/layers/cudnn_sigmoid_layer.cpp cp $BVLC_CAFFE/src/caffe/layers/cudnn_sigmoid_layer.cu $MY_CAFFE/src/caffe/layers/cudnn_sigmoid_layer.cu cp $BVLC_CAFFE/src/caffe/layers/cudnn_tanh_layer.cpp $MY_CAFFE/src/caffe/layers/cudnn_tanh_layer.cpp cp $BVLC_CAFFE/src/caffe/layers/cudnn_tanh_layer.cu $MY_CAFFE/src/caffe/layers/cudnn_tanh_layer.cu
而后,再编译你的caffe_xxx时,CUDA和CuDNN都用起来,均可以编译了。python2.7