数据操作
import torch
x = torch.arange(12) # 创建⼀个⾏向量x。这个⾏向量包含从0开始的前12个整数
print(x.shape) # 通过张量的shape属性来访问张量(沿每个轴的⻓度)的形状。
print(x.numel()) # 检查它的⼤小(size)
X = x.reshape(3,4)
print(X)
z = torch.zeros((2,3,4)) # 全零张量
print(z)
z1 = torch.ones((2,3,4)) # 全1张量
print(z1)
randomNumber = torch.randn(3,4) # 创建⼀个形状为(3,4)的张量。其中的每个元素都从均值为0、标准差为1的标准⾼斯分布(正态分布)中随机采样
print(torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])) # 给张量直接赋值
import torch
x= torch.tensor([1.0, 2, 4, 8])
y = torch.tensor([2,2,2,2])
print(x+y,x-y,x*y,x/y, x**y) # **运算符是求幂运算
print(torch.exp(x)) # 计算e的幂
X = torch.arange(12,dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0,1,4, 3],[1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X,Y),dim=0) # 竖直连接,增加行。
torch.cat((X,Y),dim=1) # 横向连接,增加列
print(X == Y) # 结果为Ture 和 False
print(X.sum()) # 张量内元素求和
a = torch.arange(3).reshape((3,1))
b = torch.arange(2).reshape((1,2))
print(a,b)
print(a + b) # 沿着数组中⻓度为1的轴进⾏⼴播,矩阵a将复制列,矩阵b将复制⾏,然后再按元素相加。
print(X[-1],X[1:3]) # 索引和切片,与列表相似
X[1,2] = 9 # 指定索引来将元素写⼊矩阵。
print(X)
X[0:2,:] = 12 # 为多个元素赋值相同的值
print(X)
A =X.numpy() # 将深度学习框架定义的张量转换为NumPy张量(ndarray)
B = torch.tensor(A)
print(type(A), type(B))
a = torch.tensor([3.5])
print(a,a.item(), float(a), int(a)) #将⼤小为1的张量转换为Python标量
数据预处理