张量(Tensor)是Pytorch、TensorFlow等深度学习框架的基础运算单位,与python中Numpy工具包的ndarray类似。不同的是GPU可以很好地支持加速计算,而Numpy仅支持CPU计算,这样可以哒哒地加快运算速度。张量为包含单一数据类型的元素的多维矩阵(没有轴只有大小的标量可以视为零阶张量,有一个轴既有大小又有方向的矢量可以视为一阶张量,有两个轴的矩阵可以视为二阶张量,具有两个轴以上的张量没有特殊的数学名称)。
张量的创建及其数据类型转换 torch.empty() 常用参数 size :定义tensor的shape dtype:指定返回tensor的数据类型 out : 把A张量赋给该张量,具体请看下面demoTensor在Pytorch中常用的基本数据类型:
torch.FloatTensor #Tensor默认数据类型32位浮点型
torch.DoubleTensor #64位浮点型
torch.LongTensor #64位整型
torch.IntTensor #32位整型
torch.ShortTensor #16位整型不常用数据类型:
torch.BoolTensor #布尔类型
torch.ByteTensor #byte类型
torch.HalfTensor #半精度浮点类型
torch.CharTensor #char类型
a = torch.empty([3, 4], dtype=torch.int8)
demo1:输出(每次输出均不同):
tensor([[ 0, 109, -31, -90],
[ 60, 2, 0, 0],
[-128, 72, 43, 114]], dtype=torch.int8)
a = torch.ones(3,4) print(a) b = torch.empty([4,4],out=a) print(b, 'n', a)
out会把前面已创建的张量元素赋值给该张量。
tensor([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
tensor([[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[8.9082e-39, 8.9082e-39, 9.1837e-39, 1.0653e-38]])
tensor([[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[1.0000e+00, 1.0000e+00, 1.0000e+00, 1.0000e+00],
[8.9082e-39, 8.9082e-39, 9.1837e-39, 1.0653e-38]])



