在利用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]))
出现这个问题的原因是当前的数据是CUDA类型的,然而PyTorch当前认为的设备应该CPU,所以造成了错误。一种解决方法是将当前的变量指派到CPU上,可以修改为:
update_scale = torch.max(scale.round().cpu(), torch.Tensor([2]).cpu())
至此,问题得到解决。