如何从GPU中pytorch返回到CPU?

时间:2019-02-02 05:44:18

标签: python gpu cpu pytorch

我在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运行?

3 个答案:

答案 0 :(得分:2)

您可以使用以下命令设置要使用的GPU设备:

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')

根据您的情况,您可以使用以下命令返回CPU:

torch.device('cpu')

答案 1 :(得分:1)

有一个.cpu()方法,等效于.cuda(),在早期版本中也可用。

答案 2 :(得分:1)

根据此thread中的@soumith,看来您的GT 425M的计算能力为2.1,不符合PyTorch所需的版本(至少为3.0)。

Ergo,您无法访问某些与GPU相关的功能。

您可以检查计算能力here

更多信息here