pytorch高级知识

  1. Broadcasting

自动扩展维度

▪Feature maps: [4, 32, 14, 14]

Bias: [32, 1, 1] => [1, 32, 1, 1] => [4, 32, 14, 14]

▪ [4, 32, 14, 14]

▪ [1, 32, 1, 1] => [4, 32, 14, 14]

  1. 拼接与拆分

a.shape=[5,32,8]

b.shape=[5,32,8]

torch.cat([a,b],dim=0).shape=[10,32,8]

torch.stack([a,b],dim=0).shape=[2,5,32,8]#创建新维度

Split: by len

c.shape=[2,32,8]

aa,bb=c.split([1,1],dim)/c.splie(1,dim=0)#根据长度来拆分,长度不同用列表,长度相同用标量

Chunk: by num

aa,bb=c.chunk (2,dim=0),#拆分成两个

  1. 基本运算

矩阵相乘:matmul=@

a.pow(2)=a**2

a.sqrt()=a**0.5

       torch.exp(a)#e^a

       torch.log(a)#以e为低loge(a)

       Approximation函数:

▪ .floor() .ceil()#向上取整,向下取整

▪ .round()#四舍五入

▪ .trunc() .frac()#取整数,取小数

  1. 梯度剪裁

Grad.clamp(10)#梯度<10,都写成10

Grad.clump(0,10)#梯度>10,都写成10

  1. 求范数,特殊函数

Norm(1,dim=0)#在那个维度求范数,那个维度就会消失

argmin, argmax:#注意没有维度时默认打平维度,若有维度,在该维度上返回最小、最大值索引,该维度消失。

Max()里加上维度***第一返回这个维度上的最大值同时返回最大值的索引,

kthvalue(),#在第一维度上第八小的数,原始数据维度(4,10)

where(cond,x,y)#如果条件成立在该位置上输出x,否则输出Y

gather(input,dim,index)#根据索引在input中查找,获得相关标签,在某些情况下,input的标签比相关index标签更有说服力

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值