python系列23:张量操作库einops

1. 简介

非常方便的张量转换库,支持numpy, pytorch, tensorflow, jax等
主要有三个函数:rearrange, reduce, repeat。
首先是基本模块,所有的功能都长这样:

y = rearrange(x, 'b c h w -> b (c h w)')

括号在->前面,表示这个维度的数据进行均等拆分;在->后面时,表示这个维度的数据进行堆叠合并。

2. 功能

2.1 rearrange

最基本的功能莫过于“更换轴”,例如下图就是更换长与宽

y = rearrange(x, 'h w c -> w h c')


在这里插入图片描述
变为
在这里插入图片描述
接下来是拼接与裁剪。括号在前面是裁剪,放在后面是拼接。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意括号里面的顺序。前面的表示整体堆叠,后面的表示每个堆叠块里面的连续像素个数。看下面这个例子:
在这里插入图片描述
还有这个例子,显示分成3块,每块分别填充e,i,n;接下来每块再填充o,p,s,因此总的来说是eoipns
在这里插入图片描述

2.2 reduce

顾名思义,消除某一个维度:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 repeat

括号的规则和rearrange一致:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值