noether.core.schemas.models.ab_upt

Classes

Module Contents

class noether.core.schemas.models.ab_upt.AnchorBranchedUPTConfig(/, **data)

Bases: noether.core.schemas.models.base.ModelBaseConfig

Parameters:

data (Any)

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

supernode_pooling_config: noether.core.schemas.modules.encoders.SupernodePoolingConfig
transformer_block_config: noether.core.schemas.modules.blocks.TransformerBlockConfig
geometry_depth: int = None

Number of transformer blocks in the geometry encoder.

hidden_dim: int = None

Hidden dimension of the model.

physics_blocks: list[Literal['shared', 'cross', 'joint', 'perceiver']]

Types of physics blocks to use in the model. Options are “shared”, “cross”, “joint”, and “perceiver”. Shared: Self-attention within a branch (surface or volume). Attention blocks share weights between surface and volume. Cross: Cross-attention between surface and volume branches. Weights are shared between surface and volume. Joint: Joint attention over surface and volume points. I.e. full self-attention over both surface and volume points. Perceiver: Perceiver-style attention blocks.

num_surface_blocks: int = None

Number of transformer blocks in the surface decoder. Weights are not shared with the volume decoder.

num_volume_blocks: int = None

Number of transformer blocks in the volume decoder. Weights are not shared with the surface decoder.

init_weights: noether.core.types.InitWeightsMode = None

Weight initialization of linear layers. Defaults to “truncnormal002”.

drop_path_rate: float = None

Drop path rate for stochastic depth. Defaults to 0.0 (no drop path).

data_specs: noether.core.schemas.dataset.AeroDataSpecs

Data specifications for the model.