| from __future__ import annotations | |
| from enum import Enum | |
| class MLPType(Enum): | |
| """MLP implementation variants for DiT blocks. | |
| - SWI: baseline SwiGLU MLP | |
| - SWINE: Sigmoid-gated sine GLU (σ·sin) with trig promoted to float32 | |
| - SWINER: Sigmoid-gated FINER-style chirp (σ·sin(ω₀·((1+|x|)·x))) | |
| - SPWIDER: sqrt-gated sine GLU (√|a|·sin(ω₀·b)) | |
| - RELU: Plain ReLU-activated feedforward | |
| - RELU2: ReLU-squared activation (ReLU(x)^2) feedforward | |
| - SILU: Plain SiLU-activated feedforward | |
| - GELU: Plain GELU-activated feedforward | |
| - SIREN: Pure sine-activated MLP | |
| - SPIDER: Sine with sqrt magnitude (sin(ω₀·x)·√|x|) | |
| - SINC: Sinc-activated MLP with log-spaced per-channel scales | |
| - FINER: FINER activation MLP with a fixed global scale (non-learnable) | |
| - RBF: Low-rank per-patch RBF with Gaussian kernel | |
| - RBF_ODD: RBF with odd-Gaussian kernel (z·exp(-z^2)) | |
| - RBF_SHARP: RBF with sharpness exponent alpha (exp(-(s·|x-b|)^alpha)) | |
| - RBF_SIREN: RBF using sine basis sin(ω0·(s·(x-b))) | |
| - RBF_FINER: RBF using FINER (chirp) basis sin(ω0·((1+|z|)·z)), z=s·(x-b) | |
| - RBF_DAMPED_SINE: RBF using damped sine sin(ω0·z)·exp(-|z|), z=s·(x-b) | |
| - RBF_SINC: RBF using sinc basis sinc(z)=sin(z)/z with z=s·(x-b) | |
| """ | |
| SWI = "swi" | |
| SWINE = "swine" | |
| SWINER = "swiner" | |
| SPWIDER = "spwider" | |
| RELU = "relu" | |
| RELU2 = "relu2" | |
| SILU = "silu" | |
| GELU = "gelu" | |
| SIREN = "siren" | |
| SPIDER = "spider" | |
| SINC = "sinc" | |
| FINER = "finer" | |
| RBF = "rbf" | |
| RBF_ODD = "rbf_odd" | |
| RBF_SHARP = "rbf_sharp" | |
| RBF_SIREN = "rbf_siren" | |
| RBF_FINER = "rbf_finer" | |
| RBF_DAMPED_SINE = "rbf_damped_sine" | |
| RBF_SINC = "rbf_sinc" | |
| __all__ = ["MLPType"] | |