runtime error 216at 012A360E(RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘)
导读:调用nn.linear时出现RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas’错误...
调用nn.linear时出现RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas’错误 ,搜索网上资料 ,主要指出以下原因:
batch size太大(本人将batchsize设置成4 ,够小吧!还是不行 。 。。) CUDA版本和torch不匹配(本人cuda版本是10.1 ,pytorch版本安装的是cuda10.1+python3.8的pytorch1.6 ,不是这个原因) torch版本问题(调换版本依旧不行)总之一句话 ,网上的解决方案试了个遍都不行 。后来折腾没办法 ,就想着不调用nn.linear ,自己编写一个线性函数 ,发现一到矩阵乘也出现相同的问题!!!该想的办法想尽了,搞半天还是没解决 ,快折腾没脾气了/(ㄒoㄒ)/~~
最后 ,想着这个错误到底什么意思,“CUBLAS_STATUS_NOT_INITIALIZED ”这个字面意思差不多是cuda状态没有初始化啊 。 。 。于是我就到调用的文件里检测 ,发现 ,oh my god!!!(○´・д・)ノ我所有的模型调用都需要进行.cuda()的设置,只有这个类调用时没有进行cuda初始化!!!于是 ,我在调用的代码后加上.cuda() ,果然完美解决问题!!!😀创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!