imnport torch
a=torch.rand(3,4)
a
b=torch.ran(4)
b
a+b
torch.add(a,b)
torch.sub(a,b)
torch.mul(a,b)
torch.div(a,b)
结果:
torch.all(torch.eq(a+b),torch.add(a,b))
torch.all(torch.eq(a-b),torch.sub(a,b))
torch.all(torch.eq(a*b),torch.mul(a,b))
torch.all(torch.eq(a/b),torch.div(a,b))
结果:
a=torch.tensor([[1.0,2.0],[3.0,4.0]])
b=torch.ones(2,2)
torch.mm(a,b)
torch.matmul(a,b)
a@b
a=torch.rand(4,784)
x=torch.rand(4,784)
w=torch.rand(4,784)
a.shape,x.shape,w.shape
(x@w.t()).shape
结果:
a=torch.rand(4,3,28,64)
b=torch.rand(4,3,64,32)
a.shape,b.shape
torch.mm(a,b).shape#会报错,must be a mutrix。说明mm适合2d
那怎么解决这个问题
torch.matmul(a,b).shape#matmul适合4d
a=torch.full([2,2],3)
a
a=torch.full([2,2],3.0)
a
a**2
a.pow(2)#也是平方
aa=a.pow(2)
aa.sqrt()#平方根
aa.rsqrt()#对每个元素取平方根后再取倒数
aa**0.5
##这些都是求平方根
结果:
a=torch.exp(rotch.ones(2,2))#求指数
a
torch.log(a)#求指数的底
a = torch.tensor(3.14)
a
a.floor()#取比我小整数
a.ceil()#向上取整(比我大的整数)
a.chunc()#取得整数
a.frac()#取小数
结果:
a=torch.tensor(3.5)
a.round()#四舍五入
grad = torch.rand(2,3)*15
grad
grad.max()
grad.min()
grad.median()#中位数
grad.clamp(10)#按10的概率初始化,小于10的变成10
grad.clamp(0,10)#按10的概率初始化,大于10小于0的变成10