python - 如何从pytorch中的gpu返回cpu?
问题描述
我在 pytorch 中有一个文本分类器,我想使用 GPU 来提高运行速度。我已经使用这部分代码来检查 CUDA 并使用它:
if torch.cuda.device_count() > 1:
print("Let's use", torch.cuda.device_count(), "GPUs!")
my_rnn_model = nn.DataParallel(my_rnn_model)
if torch.cuda.is_available():
my_rnn_model.cuda()
现在我想返回使用 cpu(而不是 gpu)。所以我清除了这部分代码。但它不起作用,我收到此错误:
RuntimeError: cuda runtime error (8) : invalid device function at /opt/conda/conda-bld/pytorch_1503963423183/work/torch/lib/THC/THCTensorCopy.cu:204
请您指导我如何才能返回到 cpu 运行?
解决方案
您可以设置要使用的 GPU 设备:
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
在您的情况下,您可以使用以下命令返回 CPU:
torch.device('cpu')
推荐阅读
- regex - MariaDB REGEXP_REPLACE 反向引用在 FUNCTION 中不起作用
- arrays - 如何在 MATLAB 中将 mxn 矩阵转换为(每行为)逗号分隔的文本文件?
- asp.net-mvc - 如何使用 rest api 控制器后端调试 MVC Web 应用程序?
- node.js - 如何使用 Now 启动 Express 应用程序?
- apache - 将 Apache HTTP Server 中的 cookie 限制从 4KB 增加到 8KB/12KB
- ios - IOS 应用转移到新的开发者帐户后,Firebase 动态链接停止工作
- c# - .NET 正则表达式(类似于 perl),用于检测连续粘贴两次的文本
- django - Python Django - 将 ForeignKey 与用户相关联。IntegrityError NOT NULL 约束失败
- java - 如何区分锁定到不同实例的线程?
- performance - 不同语言的graphql表现如何?