看代码,tensor转numpy:

a = torch.ones(2,2)
b = a.numpy()
c=np.array(a) #也可以转numpy数组
print(type(a))
print(type(b))
print(a)
print(b)

输出为:

<class ‘torch.Tensor'>
<class ‘numpy.ndarray'>
tensor([[1., 1.],
[1., 1.]])
[[1. 1.]
[1. 1.]]

numpy转tensor:

import torch
import numpy as np

a = np.ones(5)
b = torch.from_numpy(a)
c=torch.Tensor(a) #也可以转pytorch Tensor
print(type(a))
print(type(b))
print(a)
print(b)

输出为:

<class ‘numpy.ndarray'>
<class ‘torch.Tensor'>
[1. 1. 1. 1. 1.]
tensor([1., 1., 1., 1., 1.], dtype=torch.float64)

可见pytorch的tensor对象与numpy数组是可以相互转换的,且numpy数组的默认类型是double