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(),果然完美解决问题!!!😀

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年2月24日 下午10:46
下一篇 2023年2月24日 下午10:48

相关推荐