anypinn.lib
Utility libraries for anypinn.
__all__ = ['FourierEncoding', 'RandomFourierFeatures']
module-attribute
FourierEncoding
Bases: Module
Sinusoidal positional encoding for periodic or high-frequency signals.
For input \(\mathbf{x} \in \mathbb{R}^{n \times d}\) and
num_frequencies \(K\), the encoding is:
producing shape \((n,\, d\,(1 + 2K))\) when include_input=True,
or \((n,\, 2dK)\) when include_input=False.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
num_frequencies
|
int
|
Number of frequency bands \(K \geq 1\). |
6
|
include_input
|
bool
|
Prepend original coordinates to the encoded output. |
True
|
Source code in src/anypinn/lib/encodings.py
include_input = include_input
instance-attribute
num_frequencies = num_frequencies
instance-attribute
__init__(num_frequencies: int = 6, include_input: bool = True) -> None
Source code in src/anypinn/lib/encodings.py
forward(x: Tensor) -> Tensor
out_dim(in_dim: int) -> int
Compute output dimension given input dimension.
RandomFourierFeatures
Bases: Module
Random Fourier Features (Rahimi & Recht, 2007) for RBF kernel approximation.
Draws a fixed random matrix \(\mathbf{B} \sim \mathcal{N}(0, \sigma^2)\) of shape \((d_{\text{in}},\, m)\) and maps \(\mathbf{x} \in \mathbb{R}^{n \times d_{\text{in}}}\) to:
\(\mathbf{B}\) is registered as a buffer and moves with the module across devices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
in_dim
|
int
|
Spatial dimension \(d_{\text{in}}\) of the input. |
required |
num_features
|
int
|
Number of random features \(m\) (output dimension \(= 2m\)). |
256
|
scale
|
float
|
Standard deviation \(\sigma\) of the frequency distribution. Higher values capture higher-frequency variation. Default: 1.0. |
1.0
|
seed
|
int | None
|
Optional seed for reproducible frequency sampling. |
None
|
Source code in src/anypinn/lib/encodings.py
num_features = num_features
instance-attribute
out_dim: int
property
Output dimension (always 2 * num_features).