一句话总结:einops负责变形操作,einsum负责乘法与加法操作
参考https://zhuanlan.zhihu.com/p/101157166
https://zhuanlan.zhihu.com/p/372692913
einops
from einops import rearrange,repeat,reduce
import torch
rearrange
做维度操作,比如拉平,拼接,调换维度顺序,分patch等
eg.
output = rearrange(a, 'c (r p) w -> c r p w', p=3)
把本来的(c,h,w)的h拆成(r,p),指定p的值,自动计算r的值
rearrange(images, 'b h w c -> (b h) w c')
把b和h合并在一起,这是什么意思?
h是图像的高,b是图像的数量,合并之后,相当于图