torch.save() gives : RuntimeError: CUDA error: no CUDA-capable device is detected
torch.save() gives : RuntimeError: CUDA error: no CUDA-capable device is detected
我在 GPU 上训练神经网络模型,但是当我使用
torch.save()
保存检查点时出现上述错误。我的问题是,即使我有一个 CUDA 设备,为什么我会收到上述错误?我的模型 运行 在 GPU 上没问题,请查看下面的输出:nvidia-smi 命令。
$ nvidia-smi
Sat Aug 15 09:51:58 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100 Driver Version: 440.100 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2060 Off | 00000000:01:00.0 Off | N/A |
| N/A 55C P3 33W / N/A | 4774MiB / 5934MiB | 97% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 7080 C python3 4763MiB |
+-----------------------------------------------------------------------------+
$ python --version
Python 3.8.2
$ python -c "import torch; print(torch.__version__)"
1.5.1
$ python -c "import torchvision as torch; print(torch.__version__)"
0.6.1
我什至尝试了以下方法:
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
torch.save({
'epoch': epoch + 1,
'metrics': metrics,
'model': model.state_dict(),
'optimizer' : optimizer.state_dict(),
}, name)
但没有任何效果。我是深度学习新手,仍在学习 PyTorch。请原谅我的无知。
好像是其他问题。测试这个玩具示例,看看问题是否出在 torch.save()
或任何其他命令中。
import torch
import torchvision
model = torchvision.models.resnet18()
model = model.cuda()
torch.save(model.state_dict(), 'net')
我在 GPU 上训练神经网络模型,但是当我使用
torch.save()保存检查点时出现上述错误。我的问题是,即使我有一个 CUDA 设备,为什么我会收到上述错误?我的模型 运行 在 GPU 上没问题,请查看下面的输出:nvidia-smi 命令。
$ nvidia-smi Sat Aug 15 09:51:58 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.100 Driver Version: 440.100 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 2060 Off | 00000000:01:00.0 Off | N/A | | N/A 55C P3 33W / N/A | 4774MiB / 5934MiB | 97% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 7080 C python3 4763MiB | +-----------------------------------------------------------------------------+ $ python --version Python 3.8.2 $ python -c "import torch; print(torch.__version__)" 1.5.1 $ python -c "import torchvision as torch; print(torch.__version__)" 0.6.1
我什至尝试了以下方法:
os.environ["CUDA_VISIBLE_DEVICES"] = '0' torch.save({ 'epoch': epoch + 1, 'metrics': metrics, 'model': model.state_dict(), 'optimizer' : optimizer.state_dict(), }, name)
但没有任何效果。我是深度学习新手,仍在学习 PyTorch。请原谅我的无知。
好像是其他问题。测试这个玩具示例,看看问题是否出在 torch.save()
或任何其他命令中。
import torch
import torchvision
model = torchvision.models.resnet18()
model = model.cuda()
torch.save(model.state_dict(), 'net')