cursus.steps.hyperparams.hyperparameters_trimodal

class TriModalHyperparameters(*, full_field_list, cat_field_list, tab_field_list, id_name, label_name, multiclass_categories, categorical_features_to_encode=<factory>, model_class='trimodal_bert', device=-1, header=0, lr=3e-05, batch_size=2, eval_batch_size_multiplier=2.0, max_epochs=3, metric_choices=['f1_score', 'auroc'], optimizer='SGD', class_weights=None, primary_text_name, secondary_text_name, text_name=None, lr_decay=0.05, momentum=0.9, weight_decay=0.0, adam_epsilon=1e-08, warmup_steps=300, run_scheduler=True, val_check_interval=0.25, early_stop_metric='val_loss', early_stop_patience=3, load_ckpt=False, gradient_clip_val=1.0, fp16=False, use_gradient_checkpointing=False, smooth_factor=0.0, count_threshold=0, tokenizer='bert-base-cased', max_sen_len=512, fixed_tokenizer_length=True, hidden_common_dim=256, reinit_pooler=True, reinit_layers=2, chunk_trancate=True, max_total_chunks=3, text_input_ids_key='input_ids', text_attention_mask_key='attention_mask', primary_text_processing_steps=['dialogue_splitter', 'html_normalizer', 'emoji_remover', 'text_normalizer', 'dialogue_chunker', 'tokenizer'], secondary_text_processing_steps=['dialogue_splitter', 'text_normalizer', 'dialogue_chunker', 'tokenizer'], primary_hidden_common_dim=None, secondary_hidden_common_dim=None, fusion_hidden_dim=None, fusion_dropout=0.1, primary_reinit_pooler=None, primary_reinit_layers=None, secondary_reinit_pooler=None, secondary_reinit_layers=None)[source]

Bases: ModelHyperparameters

Hyperparameters for tri-modal model training with dual text and tabular modalities. Extends ModelHyperparameters to support multiple text inputs.

Fields are organized into three tiers: 1. Tier 1: Essential User Inputs - fields that users must explicitly provide 2. Tier 2: System Inputs with Defaults - fields with reasonable defaults that can be overridden 3. Tier 3: Derived Fields - fields calculated from other fields (private attributes with properties)

model_class: str
primary_text_name: str
secondary_text_name: str
text_name: str | None
lr_decay: float
momentum: float
weight_decay: float
adam_epsilon: float
warmup_steps: int
run_scheduler: bool
val_check_interval: float
early_stop_metric: str
early_stop_patience: int
load_ckpt: bool
gradient_clip_val: float
fp16: bool
use_gradient_checkpointing: bool
smooth_factor: float
count_threshold: int
tokenizer: str
max_sen_len: int
fixed_tokenizer_length: bool
hidden_common_dim: int
reinit_pooler: bool
reinit_layers: int
chunk_trancate: bool
max_total_chunks: int
text_input_ids_key: str
text_attention_mask_key: str
primary_text_processing_steps: List[str]
secondary_text_processing_steps: List[str]
primary_hidden_common_dim: int | None
secondary_hidden_common_dim: int | None
fusion_hidden_dim: int | None
fusion_dropout: float
primary_reinit_pooler: bool | None
primary_reinit_layers: int | None
secondary_reinit_pooler: bool | None
secondary_reinit_layers: int | None
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'protected_namespaces': (), 'validate_assignment': True}

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

property trimodal_model_config_dict: Dict[str, Any]

Get complete tri-modal model configuration dictionary.

validate_trimodal_hyperparameters()[source]

Validate tri-modal specific hyperparameters and initialize derived fields.

get_public_init_fields()[source]

Override get_public_init_fields to include tri-modal specific derived fields. Gets a dictionary of public fields suitable for initializing a child config.

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self (BaseModel) – The BaseModel instance.

  • context (Any) – The context.

full_field_list: List[str]
cat_field_list: List[str]
tab_field_list: List[str]
id_name: str
label_name: str
multiclass_categories: List[int | str]
categorical_features_to_encode: List[str]
device: int
header: int
lr: float
batch_size: int
eval_batch_size_multiplier: float
max_epochs: int
metric_choices: List[str]
optimizer: str
class_weights: List[float] | None