解决PyTorch报错:RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 'other

1. 问题描述

在利用PyTorch报错:

RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 'other'

报错时,对应Python语句的写法为:

update_scale = torch.max(scale.round(), torch.Tensor([2]))



2. 解决办法

出现这个问题的原因是当前的数据是CUDA类型的,然而PyTorch当前认为的设备应该CPU,所以造成了错误。一种解决方法是将当前的变量指派到CPU上,可以修改为:

update_scale = torch.max(scale.round().cpu(), torch.Tensor([2]).cpu())

至此,问题得到解决。

你可能感兴趣的:(Debug,PyTorch,Python)