einops
是一个轻量级的 Python 库,提供了直观和灵活的张量操作方法。其核心功能包括重排(rearrange)、重塑(reshape) 和 归约(reduce),并通过简单的字符串表达式定义复杂的张量操作,适用于 Numpy、PyTorch、TensorFlow、JAX 等常用深度学习框架。
einops
的主要功能
1. rearrange
:重排张量维度
rearrange
用于对张量的维度进行重新排序或调整。
-
语法:
-
from einops import rearrange rearrange(tensor, pattern, **axes_lengths)
示例:
-
import numpy as np from einops import rearrange # 输入形状 (2, 3, 4) x = np.random.rand(2, 3, 4) # 重排维度到 (3, 2, 4) y = rearrange(x, 'b h w -> h b w') print(y.shape) # (3, 2, 4)
2.
reduce
:归约张量