一、Tensor
Tensor表示的是一个多维的矩阵。PyTorch的Tensor可以和numpy的ndarray相互转换,但是PyTorch可以在GPU上面运行,而numpy的ndarray只能在CPU上运行。
1、常用的数据类型
(1)torch.FloatTensor:用于生成数据类型为浮点型的Tensor,传递给torch.FloatTensor的参数可以是一个列表,也可以是一个维度值。
(2)torch.IntTensor:用于生成数据类型为整型的 Tensor,传递 给 torch.IntTensor的参数可以是一个列表,也可以是一个维度值。
(3)torch.rand:用于生成数据类型为浮点型且维度指定的随机 Tensor,和在NumPy中使用numpy.rand生成随机数的方法类似,随机生 成的浮点数据在0~1区间均匀分布。
(4)torch.randn:用于生成数据类型为浮点型且维度指定的随机 Tensor,和在NumPy中使用numpy.randn生成随机数的方法类似,随机生 成的浮点数的取值满足均值为0、方差为1的正太分布
(5)torch.range:用于生成数据类型为浮点型且自定义起始范围 和结束范围的Tensor,所以传递给torch.range的参数有三个,分别是范围的起始值、范围的结束值和步长,其中,步长用于指定从起始值到结 束值的每步的数据间隔。
(6)torch.zeros:用于生成数据类型为浮点型且维度指定的 Tensor,不过这个浮点型的Tensor中的元素值全部为0
import torch
a = torch.FloatTensor(2,3)
b = torch.FloatTensor([2,3,4,5])
c = torch.IntTensor(2,3)
d = torch.IntTensor([2,3,4,5])
e = torch.rand(2,3)
f = torch.randn(2,3)
h = torch.zeros(3,4)
输出:
tensor([[-2.7962e+10, 6.6562e-43, 1.4013e-45],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00]])
tensor([2., 3., 4., 5.])
tensor([[6357102, 72745