import torch
张量tensor : 数值组成的,可能是多维的数组。
a) 一个轴张量对应数学上的向量vector;
b) 两个轴张量对应数学上的矩阵matrix。
# arange创建⼀个⾏向量x
x = torch.arange(12)
print("x.data = ", x.data) # x.data = tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
print("x.shape = ", x.shape) # x.shape = torch.Size([12])
print("x.numel = ", x.numel()) #x.numel = 12
# reshape函数:改变⼀个张量的形状而不改变元素数量和元素值
x_chg = x.reshape(3,4)
x_chg1 = x.reshape(-1,4) #-1 表示自动推到
x_chg2 = x.reshape(3,-1)
print("x_chg = ", x_chg) #x_chg = tensor([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
#创建一个张量,所有元素置为0
x = torch.zeros((2, 3))
print("x.data = ", x.data) #x.data = tensor([[0., 0., 0.], [0., 0., 0.]])
#创建一个张量,素有元素置为1
y = torch.ones((2,3))
print("y.data = ",y.data) #y.data = tensor([[1., 1., 1.], [1., 1., 1.]])
z = torch.randn(3,4)
print("z.data=", z.data) #创建一个3X4的张量,每个元素都从均值为0、标准差为1的标准⾼斯(正态)分布中随机采样
m = torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]]) #创建一个新的张量,并初始化对应值
print("m.data = ", m.data)
#常⻅的标准算术运算符(+、-、*、/ 和 **)都为按元素运算
x1 = torch.tensor([1.0, 2,4,8])
y1 = torch.tensor([2,2,2,2])
print("x+y = ", x1 +y1) #x+y = tensor([ 3., 4., 6., 10.])
print("x-y = ", x1 -y1) #x-y = tensor([-1., 0., 2., 6.])
print("x*y = "