CUDNN_STATUS_NOT_SUPPORTED.This error may appear if you passed in a non-contiguous input(非调整批量大小)

目录

环境说明

问题描述

解决方法探索

1、(无效)调小batchSize

2、(有效)换环境

3、排查问题思路


环境说明

Ubuntu 18.04.5 LTS 

python3.7

pytorch 1.4.0

问题描述

 跑一个新版本的实验过程中出现了这个问题,这个新版本是在旧版本基础上改进的,改动的都是一些模块的东西,并不涉及损失。报错具体内容如下

Traceback (most recent call last):
  File "train_vit_v1_2.py", line 173, in <module>
    loss.backward()
  File "/home/abc/anaconda3/lib/python3.7/site-packages/torch/tensor.py", line 195, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/home/abc/anaconda3/lib/python3.7/site-packages/torch/autograd/__init__.py", line 99, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

解决方法探索

1、(无效)调小batchSize

百度搜索了一下,发现不少博客都是说,batchSize太大了,调小,问题就解决了。但是我尝试了很多遍,batchSize都调到1,都没用。

2、(有效)换环境

换了一个高效的搜索引擎,链接是git上pytorch库的issue的,内容如下

里面有一个哥们是这么回答的

 这个时候,我受到了启发,是不是有可能是环境问题,所以我使用conda切换了一下环境,发现问题就解决了

最后我能运行的环境如下

python3.6
pytorch  1.7.0     py3.6_cuda10.1.243_cudnn7.6.3_0

3、排查问题思路

最后我总结了一下解决这种神奇问题的思路,分两步走

a、排查是否环境问题      换个环境

b、排查是否因为修改导致的问题   试下原来的版本能否正常运行(凸显版本管理的优势!建议迭代代码版本管理要做好,不然有时候出bug要回滚,如果没用git,也没保留原来文件,那么会很让人崩溃。)

原创不容易,如果对你有所帮助,请赏一键三连

你是一个可以影响我的人!你的认可是我创作的动力,非常感谢!

有问题,欢迎随时交流探讨!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值