win0下caffe训练时出现Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0) CUDNN_STATUS_NOT_INITIALIZE的处理

https://ask.csdn.net/questions/758743#answer_815731

以上是训练基于caffe训练时出现的错误,win10下基本没有人给出过比较好的解答,链接中为笔者的提问,自己解决后给出了相应的解决方法,不太详细,现将具体的解决方式记录如下:

 

 

  1. 建议先去NVIDA官网查看自己的CUDA的计算能力,如果compute capacity <3.0(本人的电脑情况)
  2. 在caffe下的Makefile.config.example,中将配置更改到和自己的电脑一致,比如:我的capacity为2.1,处理为:

                将>=sm_21的全部屏蔽,若capacity=3.0,将>sm_30的全部屏蔽即可, 其他数值类似

             CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
               -gencode arch=compute_20,code=sm_21 \
              #-gencode arch=compute_30,code=sm_30 \
              #-gencode arch=compute_35,code=sm_35 \
             #-gencode arch=compute_50,code=sm_50 \
             #-gencode arch=compute_50,code=compute_50

3  同时更改CommonSettings.props的相应配置,如果capacity>=3.0, 可以不必将usecudnn设置为false,如果电脑配置很低,和我的一样(2.1),必须设置为false,同时将中间部分改为和建议2中相一致,之后重新编译caffe即可。

4 建议先理解上述说法,根据自己电脑的capacity灵活更改数值,不必生搬硬套。

 

 

 

你可能感兴趣的:(win0下caffe训练时出现Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0) CUDNN_STATUS_NOT_INITIALIZE的处理)