因为一些原因还是需要使用别人基于Caffe的代码,但是代码比较老,默认不支持高版本的cuda或者cudnn

怎么办呢?基本上就是把最新官方Caffe-BVLC的几个关键文件拿过来替换即可。

脚本如下:

#########################################################################
# 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都用起来,都可以编译了。

相关文章:

  • 2021-10-20
  • 2021-05-26
  • 2022-02-14
  • 2022-12-23
  • 2022-01-14
  • 2022-01-19
  • 2021-04-15
猜你喜欢
  • 2021-12-29
  • 2021-08-13
  • 2022-02-10
  • 2021-11-24
  • 2021-12-31
  • 2021-10-20
  • 2022-01-12
相关资源
相似解决方案