torch.arange(12)产生一个从0开始到11(包括11)的一个向量,reshape函数,把向量转换为3x4的矩阵
import torch x=torch.arange(12) x=x.reshape(3,4) #x=torch.zeros((2,3,4))#两个2个,三行4列的二维数组组成的三位数组
下面第一行代码等同于上述代码。sum()函数用于求和,下面的cat函数用户把两个矩阵进行合并,dim等于0时表示按行合并,dim等于1时表示按列合并
x=torch.arange(12,dtype=torch.float32).reshape(3,4) x.sum() 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)#dim=0按行/一维合并,dim=1按列/二维进行合并,dim=2 下面是输出结果: x=torch.arange(12,dtype=torch.float32).reshape(3,4) x.sum() 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)#dim=0按行/一维合并,dim=1按列/二维进行合并,dim=2
按照逻辑运算符来进行判断是否相等:
#按逻辑运算符来判断相等
# x=torch.arange(0,8,dtype=torch.float32).reshape(2,2,2)
# y=torch.arange(8,16,dtype=torch.float32).reshape(2,2,2)
# torch.cat((x,y),dim=2)
y==x
下面是输出结果:
tensor([[False, True, False, True],
[False, False, False, False],
[False, False, False, False]])
矩阵即使形状不同在Python里面也可以通过广播机制按元素进行操作:
a=torch.arange(3).reshape((3,1)) b=torch.arange(2).reshape((1,2)) a,b a+b#即使形状不同,我们仍然可以通过广播机制来执行按元素操作,会把矩阵复制为(3,2)矩阵 下面是输出结果: a=torch.arange(3).reshape((3,1)) b=torch.arange(2).reshape((1,2)) a,b a+b#即使形状不同,我们仍然可以通过广播机制来执行按元素操作,会把矩阵复制为(3,2)矩阵
两矩阵之间同样可以曹勇一般数据运算时间的运算法:+,-,*,**,/:
x=torch.tensor([1.0,2,4,8]) y=torch.tensor([2,2,2,2]) x+y,x-y,x*y,x**y 下面是输出结果: x=torch.tensor([1.0,2,4,8]) y=torch.tensor([2,2,2,2]) x+y,x-y,x*y,x**y



