PSPNet icon indicating copy to clipboard operation
PSPNet copied to clipboard

CuDNN support, which version?

Open fabianboth opened this issue 8 years ago • 4 comments

I am trying to build your network with cuDNN support enabled. I'm using CUDA 8 and cudnn5.1. I've also tried out Cuda 7.5 with cudnn3. I keep getting the following error:

CXX src/caffe/internal_thread.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/solver.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/net.cpp
CXX src/caffe/common.cpp
CXX src/caffe/interp_layer.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/util/interp.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/confusion_matrix.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/mpi_functions.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/channel.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/layers/cudnn_bn_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/im2_col_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/image_seg_data_layer.cpp
src/caffe/layers/cudnn_bn_layer.cpp: In instantiation of ‘void caffe::CuDNNBNLayer<Dtype>::Reshape(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’:
src/caffe/layers/cudnn_bn_layer.cpp:79:1:   required from here
src/caffe/layers/cudnn_bn_layer.cpp:39:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:40:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:53:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘frozen_’
src/caffe/layers/cudnn_bn_layer.cpp:54:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘broadcast_buffer_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp: In instantiation of ‘void caffe::CuDNNBNLayer<Dtype>::Reshape(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = double]’:
src/caffe/layers/cudnn_bn_layer.cpp:79:1:   required from here
src/caffe/layers/cudnn_bn_layer.cpp:39:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:40:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:53:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘frozen_’
src/caffe/layers/cudnn_bn_layer.cpp:54:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘broadcast_buffer_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
make: *** [.build_release/src/caffe/layers/cudnn_bn_layer.o] Error 1

This is an issue with the caffe version you are using, but I do not know how to fix this. Any help would be greatly appreciated. It would also be great if you could specify the required versions of CUDA and CuDNN in the Readme.

Thank you!

fabianboth avatar Dec 06 '16 20:12 fabianboth

Hi, fabianboth Please clone the newest version of PSPNet which has been tested successfully on Ubuntu 14.04 and 12.04 with CUDA 7.0. Thanks.

hszhao avatar Dec 08 '16 10:12 hszhao

@fabianboth Because PASCAL GPU must run with CUDA8 and cuDNN-v5, I try a nvidia-docker caffe with CUDA7.0 and cuDNN-v4 and it works. But my annother docker with CUDA7.5 and cuDNN-v5 didnt work. Hence I think cuDNN-v4 may be the correct one.

ksnzh avatar Dec 22 '16 07:12 ksnzh

I have tried the CUDA8 and cuDNN-v5, there some incompatible problem. I changed the version of cudnn into 4, it works!

weiweisunWHU avatar Jan 09 '17 02:01 weiweisunWHU

I have tried this with CUDA10 and cuDNN7.5 and OpenCV4.1, but some problem needs to be solved. I follow this blog' instruction (problem 3 and 4), it works!!!

WilsonAir avatar Apr 25 '19 09:04 WilsonAir