numpy.copy和torch.tensor的cpu/gpu

1.在cpu上

import torch
import numpy as np
a=torch.tensor(2)
b=np.copy(a)

#
>>> b
array(2, dtype=int64)

在cpu上是没有可以随意转换的,但是如果这样:

import torch
import numpy as np
a=torch.tensor(2)
a=a.to("cuda:0")
b=np.copy(a)

就会报错:

TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

 所以要把a转换到cpu上

 这样是ok的。

原文地址:https://www.cnblogs.com/BlueBlueSea/p/13126370.html