下载github上的论文官方代码
flownet2.0
论文:http://lmb.informatik.uni-freiburg.de//Publications/2017/IMKDB17
官方代码:https://github.com/lmb-freiburg/flownet2
之后按照官方的README.md来做,但是如下事情是README.md中没有,但是你很可能需要做的。
flownet1.0:https://github.com/liruoteng/FlowNet
编译前,需要对下载的原始版本做如下调整:
1. Makefile
a. 对应你的环境去改Makefile.config和Makefile和/usr/local/cuda/include/host_config.h , 参照https://blog.csdn.net/yhaolpz/article/details/71375762的第九步
b. Compute_20如果报错,就注释掉就可以了
2. cudnn.cpp(根目录/include/caffe/util/cudnn.hpp),改这个因为caffe中的cudnn.cpp版本跟电脑的cudnn版本不符合(https://blog.csdn.net/mao_hui_fei/article/details/80326464),高版本的cudnn的话,在编译libcaffe时出现too few arguments in function call的错误,在D:\caffe\caffe-master\include\caffe\util中的”cudnn.hpp”中的:我们需要将
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv, pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
改为
CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv, pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION, dataType<Dtype>::type));
另外需要注意的是:
一些连接文件有error,比如我遇到的libcudnn.so,可能是它的文件属性变成不是连接文件了(文件属性通过文件的颜色可以看,亮蓝色为连接文件,绿色为可执行文件)。我的处理方法是,找到另一个文件夹下的属性是连接文件的它,通过cp,将这个属性传递给它。