tensor 转换为 numpy

采用 .numpy() 函数即可

a=torch.tensor([1,2,3])  
print(a)
print(type(a))
print(a.dtype)
b=a.numpy()
print(b)
print(type(b))
print(b.dtype)

输出:

在这里插入图片描述

torch.tensor 整数默认为 int64 即 LongTensor 小数默认为 float32
不过 一般对tensor 采用 tensor.data() 或者 tensor.detach() 来将变量脱离计算图,不计算梯度。

numpy 转换为 tensor

有两种函数
一种是
torch.from_numpy()

第二种是
torch.tensor() 其中用这种,还可以转换数据类型

a=np.array([1,2,3])
print(a)
print(type(a))
print(a.dtype)
b=torch.from_numpy(a)
# b=torch.tensor(a)
print(b)
print(type(b))
print(b.dtype)

在这里插入图片描述

Pytorch中定义了8种CPU张量类型和对应的GPU张量类型
torch.FloatTensor(2,3) #构建一个2*3 Float类型的张量   torch.float32
torch.DoubleTensor(2,3) #构建一个2*3 Double类型的张量   torch.float64
torch.HalfTensor (2,3) #构建一个2*3 HalfTenso类型的张量
torch.ByteTensor(2,3) #构建一个2*3 Byte类型的张量
torch.CharTensor(2,3) #构建一个2*3 Char类型的张量
torch.ShortTensor(2,3) #构建一个2*3 Short类型的张量
torch.IntTensor(2,3) #构建一个2*3 Int类型的张量    torch.int32
torch.LongTensor(2,3) #构建一个2*3 Long类型的张量   torch.int64

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐