1. ホーム
  2. Deep Learning

caffeのインストールで「error : too few arguments in function call」エラーが発生する。

2022-02-17 07:02:37
<パス

Windows10でCUDA9.1を使ってcaffeをインストールし、libcaffeをコンパイルする際にtoo few arguments in function call errorが出て、そのヒントがD:³³³³³の"cudnn.hpp"の114行目に出ていることがわかり、このあたりのコードを以下に変更したらコンパイル成功しました。

template <typename Dtype>
inline void setConvolutionDesc(cudnnConvolutionDescriptor_t* conv,
    cudnnTensorDescriptor_t bottom, cudnnFilterDescriptor_t filter,
    int pad_h, int pad_w, int stride_h, int stride_w) {
#if CUDNN_VERSION_MIN(6, 0, 0)
  CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
      pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION,
      dataType<Dtype>::type));
#else
    CUDNN_CHECK(cudnnSetConvolution2dDescriptor(*conv,
      pad_h, pad_w, stride_h, stride_w, 1, 1, CUDNN_CROSS_CORRELATION));
#endif
}

114行目のチェックに注意。おそらくcudnのバージョンが高すぎるため、それを変更すると動作します。

参考記事
1. https://blog.csdn.net/roach_zfq/article/details/78505815
2. https://devtalk.nvidia.com/default/topic/1002826/question-about-cudnnsetconvolution2ddescriptor/