nemo_automodel.components.models.bagel.embeddings#
Positional and timestep embeddings for BAGEL modules.
Module Contents#
Classes#
Frozen 2D sine/cosine position table for patch and latent grids. |
|
Map scalar timesteps through sine/cosine features and a small MLP. |
Functions#
Return inverse periods for one sine/cosine axis. |
|
Encode scalar coordinates with sine features followed by cosine features. |
|
Return |
|
Return a 2D sin-cos embedding table as a NumPy array. |
|
Create sine/cosine features for scalar timesteps. |
Data#
API#
- nemo_automodel.components.models.bagel.embeddings._SIN_COS_BASE#
10000.0
- nemo_automodel.components.models.bagel.embeddings._validate_positive(value: int, *, name: str) None#
- nemo_automodel.components.models.bagel.embeddings._validate_even(value: int, *, name: str) None#
- nemo_automodel.components.models.bagel.embeddings._geometric_frequencies(
- width: int,
- *,
- device: torch.device | None = None,
Return inverse periods for one sine/cosine axis.
- nemo_automodel.components.models.bagel.embeddings._encode_scalar_positions(
- positions: torch.Tensor,
- width: int,
Encode scalar coordinates with sine features followed by cosine features.
- nemo_automodel.components.models.bagel.embeddings._build_square_grid_positions(
- grid_size: int,
- nemo_automodel.components.models.bagel.embeddings._build_2d_sincos_pos_embed(
- embed_dim: int,
- grid_size: int,
Return
(grid_size ** 2, embed_dim)sine/cosine features for a square grid.
- nemo_automodel.components.models.bagel.embeddings._get_2d_sincos_pos_embed(
- embed_dim: int,
- grid_size: int,
Return a 2D sin-cos embedding table as a NumPy array.
- class nemo_automodel.components.models.bagel.embeddings.BagelGridPositionEmbedding(
- max_num_patch_per_side: int,
- hidden_size: int,
Bases:
torch.nn.ModuleFrozen 2D sine/cosine position table for patch and latent grids.
Initialization
- _init_weights() None#
- forward(position_ids: torch.Tensor) torch.Tensor#
- nemo_automodel.components.models.bagel.embeddings._timestep_features(
- timesteps: torch.Tensor,
- width: int,
- *,
- max_period: int = 10000,
Create sine/cosine features for scalar timesteps.