2021-09-15

pytorch的基本操作

Broadcast自动扩展

1、expand
该方法扩张不需要拷贝数据
注意点
1)从第一个维度开始匹配(后面的小前面的大);
2)对应的size相同,可进行对应位置的元素相加;
实例:
Feature maps:[4,32,14,14]
Bias :[32,1,1]>[1,32,1,1]>[4,32,14,14]
具体完成的功能:
自动根据需要将原有的数据进行复制,以及将原有的数据维度1的维度扩张为计算对象相同的维度

存在的意义:
能够自动扩张又不需要手动的完成扩张操作;
操作方法:
1、 从最后一个维度开始计算,执行的维度不变,缺少且带扩张的维度代替为1,
2、 扩张,将所有的维度扩张为目标维度,,其他的维度不进行操作;
注意:指定的维度和目标维度要相等,不然无法进行计算;

拼接和拆分

Cat
Stack:
1、类似于拉索,对于传入的dim前进行缝合,dim后的各表示各的;所以stack拼接的数组必须完全一样;
2、相比于cat,stack维度必须相同,cat维度可以不相同;
Split
根据长度来拆分,擦分方式分为:根据单元长度来拆分,根据拆分的数量来拆分;
Split(1,dim=0)=》在第一个维度每个长度为1进行拆分;
Split([2,3],dim=0)=>在第一个维度2:3拆分
Chunk
按照数字进行拆分,将数据拆分为规定的份数;
Chunk(2,dim=0)

Tensor基本运算

1、Add/minus/matmul/divide
加减乘除
:mul和的差异::对应位置相乘;
Mul:传统的矩阵乘法,简写@
2、Matmul
3、 Pow
平方=**
4、Sqrt/rsqrt
开方
5、Round
扩展:
取整数:
A.Floor()/a.Ceil()/a.trunc()/a.frac():向下取整、向上取整、裁剪整数部分、裁剪小数部分
A.Roud():四舍五入

属性统计

1、Norm:
范数:一范数:所有元素的绝对值得和
二范数:所有元素平方和的开方
b.norm(1,dim=1):范数值和维度值
2、Mean、sum
求和
3、Prod
数组元素中给所有元素的乘积
4、Max\min\argmin\argmax
Argmax/argmin使用的时候会先打平该数据,随后返回最大、最小的数据所在的一维索引,如果不想打平就执行维度数目
5、Kthvalue,topk
Topk返回最大的几个;,topk返回的数据比max的信息多很多,如果过要返回最小的集个就将largest设置为false:a=top看(3,dim=1,largest=False)返回维度一的前三个数据
返回第几小的数值:
a. Kthvalue(8,dim=1):返回维度为一第八小的数值
6、比较操作:compare,返回true或者false
dim和keepdim的作用:
dim指定计算的维度
keepdim:为在返回维度结果的同时,保持原有的维度结构;

pytorch的高阶操作
1、Where
torch.where(condition,x,y)–》tensor
从a和b中依据condition来生成一个新的张量,如果是true的话就选A对应的位置,如果为false的话就选B对应的位置;
:可知,A、B的shape是相同的
2、Gather:收集操作
b = torch.Tensor([[1,2,3],[4,5,6]])
print b
index_1 = torch.LongTensor([[0,1],[2,0]])
index_2 = torch.LongTensor([[0,1,1],[0,0,0]])
print torch.gather(b, dim=1, index=index_1)
print torch.gather(b, dim=0, index=index_2)
输出:
1 2 3
4 5 6
[torch.FloatTensor of size 2x3]

1 2
6 4
[torch.FloatTensor of size 2x2]

1 5 6
1 2 3
[torch.FloatTensor of size 2x3]
简单的说就是根据index的指示以及dim代表的是维度对b进行挑选;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值