vortex_torch.cache.reduce_interleave¶
Classes
|
Interleaved L2-norm over groups of |
|
Interleaved max over groups of |
|
Interleaved mean over groups of |
|
Interleaved min over groups of |
|
Interleaved 1-D reduction — folds consecutive groups of |
- class ReduceInterleave(dim=1, k=2)[source]¶
Bases:
vOpInterleaved 1-D reduction — folds consecutive groups of
kelements.- Math:
For input \(X\in\mathbb{R}^{B\times N\times D}\) and a per-group reduction \(\rho\) (mean / max / min / L2-norm, fixed by the subclass), each group of \(k\) adjacent elements collapses to one:
\[\begin{split}\begin{aligned} (\text{dim}=1,\ N\%k=0):\quad & Y_{b,m,d} = \rho_{\,0 \le j < k}\, X_{b,\,mk+j,\,d}, \\ (\text{dim}=2,\ D\%k=0):\quad & Y_{b,n,e} = \rho_{\,0 \le j < k}\, X_{b,n,\,ek+j}. \end{aligned}\end{split}\]- __init__:
ReduceInterleave(dim=1, k=2)— inner axis (1over \(N\),2over \(D\)) and group sizek(must divide the reduced axis;k=1is identity,k= full length recovers the plain reduction).- __call__:
op(x, output, loc=loc, ctx=ctx)—x[B, N, D]; the reduced axis shrinks by a factor ofk(N→N/korD→D/k).PAGEDiff aPAGEDoutputis supplied, elseRAGGED.- Note:
use a concrete subclass —
MeanInterleave,MaxInterleave,MinInterleave,L2NormInterleave.- Parameters:
- class MeanInterleave(dim=1, k=2)[source]¶
Bases:
ReduceInterleaveInterleaved mean over groups of
k(aReduceInterleave).- Math:
- \[\begin{split}\begin{aligned} (\text{dim}=1):\quad & Y_{b,m,d} = \frac{1}{k}\sum_{j=0}^{k-1} X_{b,\,mk+j,\,d}, \\ (\text{dim}=2):\quad & Y_{b,n,e} = \frac{1}{k}\sum_{j=0}^{k-1} X_{b,n,\,ek+j}. \end{aligned}\end{split}\]
- __init__:
MeanInterleave(dim=1, k=2)— inner axis (1/2) and group sizek.- Parameters:
- class MaxInterleave(dim=1, k=2)[source]¶
Bases:
ReduceInterleaveInterleaved max over groups of
k(aReduceInterleave).- Math:
- \[\begin{split}\begin{aligned} (\text{dim}=1):\quad & Y_{b,m,d} = \max_{0 \le j < k} X_{b,\,mk+j,\,d}, \\ (\text{dim}=2):\quad & Y_{b,n,e} = \max_{0 \le j < k} X_{b,n,\,ek+j}. \end{aligned}\end{split}\]
- __init__:
MaxInterleave(dim=1, k=2)— inner axis (1/2) and group sizek.- Parameters:
- class MinInterleave(dim=1, k=2)[source]¶
Bases:
ReduceInterleaveInterleaved min over groups of
k(aReduceInterleave).- Math:
- \[\begin{split}\begin{aligned} (\text{dim}=1):\quad & Y_{b,m,d} = \min_{0 \le j < k} X_{b,\,mk+j,\,d}, \\ (\text{dim}=2):\quad & Y_{b,n,e} = \min_{0 \le j < k} X_{b,n,\,ek+j}. \end{aligned}\end{split}\]
- __init__:
MinInterleave(dim=1, k=2)— inner axis (1/2) and group sizek.- Parameters:
- class L2NormInterleave(dim=1, k=2)[source]¶
Bases:
ReduceInterleaveInterleaved L2-norm over groups of
k(aReduceInterleave).- Math:
- \[\begin{split}\begin{aligned} (\text{dim}=1):\quad & Y_{b,m,d} = \Big(\sum_{j=0}^{k-1} X_{b,\,mk+j,\,d}^2\Big)^{1/2}, \\ (\text{dim}=2):\quad & Y_{b,n,e} = \Big(\sum_{j=0}^{k-1} X_{b,n,\,ek+j}^2\Big)^{1/2}. \end{aligned}\end{split}\]
- __init__:
L2NormInterleave(dim=1, k=2)— inner axis (1/2) and group sizek.- Note:
a pure \(L_2\) norm per group (no division) — not RMS.
- Parameters: