一、问题描述
动机是想在jupyter notebook上跑一下这个pytorch官方的自然语言处理tutorial
然后就安装了torchtext==0.9.0
后面提示torch版本太低,就把torch升级到了1.8
折腾了半天,跑不出来,又想换个简单一点的教程quick start
跑到模型定义或者训练的时候反复出现以下两个错误:
PyTorch error: CUDA error: CUBLAS_STATUS_INTERNAL_ERROR when calling `cublasCreate(handle)`
或者
CUDA error: invalid device function
只有在GPU模式下才出现这个问题,CPU模式下是正常的。
二、解决办法
试过降级torch到1.7,但是由于torchtext版本原因降级失败。
尝试重装过cuda,但是cuda没有问题。
最终的解决办法是,确定好python、pytorch、cuda之间的版本对应关系。
参考这篇博客解决PyTorch与CUDA版本不匹配
最后重新安装了pytorch,命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 torchtext==0.8
三、使用过的一些命令
查看GPU使用情况的命令:nvidia-smi
查看pytorch相关环境的命令:python -m torch.utils.collect_env
python查看当前进程号pid:
import os
print(os.getpid())
查看显卡数量:
torch.cuda.is_available()
c = torch.cuda.device_count()
for i in range(c):
n = torch.cuda.get_device_name(0)
print(n)
torch.cuda.current_device()
折腾了一个下午,现在看来怎么这么简答,都没啥好说的。。。。。