einops笔记

  1. 什么是einops
    einops(Einstein-Inspired Notation for operations)是一个 进行tensor的各种变换的包。里面又一些api可以完成特定的工作。其特点就是 利用了一种特殊而高效的参数。并且einops为主流的几个学习框架做了适配,numpy , pytorch, tensorflow, keras…

  2. 优势:

    1. 比较直观:可以显示出具体变换的效果。
    y = x.transpose(0, 2, 3, 1)
    y = rearrange(x, 'b c h w -> b h w c') //这种形式更加明确,给读者hint里面的具体变换和意义
    
  3. 功能:

    1. 对于rearrange来说,主要的原子功能又三个:<1> 改变维度 <2> composition <3>decomposition 以上的功能可以进行组合,比如不仅 composition 又 decomposition 。但是总的shape相乘的值是相同的。
    2. 对于reduce,其可以缩减某一个维度的数值或者直接缩减掉这个维度。可以指定缩减的时候的计算规则,比如求平均值 或者 取最大值等。可以利用这个来 转换为**灰度图像, max-pooling(缩减h 和 w), mean pooling(缩减h和w) **
    3. 可以使用rearrange进行stack和concatenate操作。stack就是将一个list内的tensor进行堆叠,list的length变成第一个维度。concatenate就是将一些tensor拼接到一起,沿着某些轴
    4. 可以使用rearrange进行维度为1的维度的增加或者消除
    5. repeat可以将某一个 维度进行 重复,重复的数字要放在 前面

更多细节看官网原文 官网
官网基础教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值