caffe module migrate to tx2

Some time ago, I used caffe to train a network in my computer with cuda8.0 and cudnn5.1. My computer is ubuntu 16.04 and has gtx1060. I did make some changes in the caffe code. Now I want to run my caffe module in tx2.and I has installed cuda8.0 and cudnn5.1 in tx2, but when I compile the caffe in tx2,there has a lot error happened like that:

home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(81): error: identifier “CUDNN_ADD_SAME_C” is undefined

/home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(81): error: argument of type “const void *” is incompatible with parameter of type “cudnnTensorDescriptor_t”
detected during instantiation of “void caffe::CuDNNConvolutionLayer::Forward_gpu(const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &, const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &) [with Dtype=float]”
(157): here

/home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(81): error: argument of type “const void *” is incompatible with parameter of type “cudnnTensorDescriptor_t”
detected during instantiation of “void caffe::CuDNNConvolutionLayer::Forward_gpu(const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &, const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &) [with Dtype=float]”
(157): here

/home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(81): error: too many arguments in function call
detected during instantiation of “void caffe::CuDNNConvolutionLayer::Forward_gpu(const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &, const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &) [with Dtype=float]”
(157): here

/home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(125): error: argument of type “const void *” is incompatible with parameter of type “cudnnConvolutionBwdFilterAlgo_t”
detected during instantiation of “void caffe::CuDNNConvolutionLayer::Backward_gpu(const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &, const std::vector<__nv_bool, std::allocator<__nv_bool>> &, const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &) [with Dtype=float]”
(157): here

/home/nvidia/caffe/src/caffe/layers/cudnn_conv_layer.cu(125): error: argument of type “float *” is incompatible with parameter of type “size_t”
detected during instantiation of “void caffe::CuDNNConvolutionLayer::Backward_gpu(const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &, const std::vector<__nv_bool, std::allocator<__nv_bool>> &, const std::vector<caffe::Blob *, std::allocator<caffe::Blob *>> &) [with Dtype=float]”
(157): here

I do not know how to fix it.

Hi,

It looks like ‘CUDNN_ADD_SAME_C’ is removed after cuDNN v5.0.
Please help to check the required version of your Caffe branch first.

It should be more easy to de-serialize the model to a latest branch.
Just fix some compatible issue and you should be able to find some model converter online.

Thanks.

Thank you!!
I will try it