动手学深度学习_2.1预备知识

发布时间 2023-09-16 17:05:13作者: 次林梦叶
  • 基础数据操作
x=torch.arange(num)
x.shape //每个张量的形状
x.reshape(n1,n2,...,nm)
torch.zeros(n1,n2,...,nm)
torch.ones(n1,n2,...,nm)
torch.randn(n1,n2,...,nm)//正态分布随机数
torch.tensor(vector1,vector2,...) //手动将向量变成张量

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) //0轴为列
torch.cat((X,y),dim=1) //1轴为行

X.sum() //最终形成一个元素
  • 张量机制
    image
    可以看到,a,b两个张量形状不一样,但是却能够直接相加 a+b
    这里的直接相加是pytorch进行了操作,他将a与b变得形状相同了
    image
    这里的操作是将a行列复制,变成了2列,即为3x2的矩阵
    将b进行行复制,变成了3行,即为3x2的矩阵

  • 索引和切片
    X:image
    image
    当[]中只有一个数时,则是按照0轴取,0轴是列,即可以将X看作:
    X=[a1,a2,a3]
    a1=[0,1,2,3],a2=[4,5,6,7],a3=[8,9,10,11]
    那么每取一个就是取出一个ai出来