OCDocker.OCScore.DNN.future.models module¶
Models for the future DNN pipeline (shared encoder + multi-head).
- class OCDocker.OCScore.DNN.future.models.MLP(*args, **kwargs)[source]¶
Bases:
ModuleSimple MLP with optional batch norm and dropout.
- Parameters:
input_size (int) – Input feature dimension.
layer_sizes (list[int]) – Hidden layer sizes (final size is last).
activations (list[tuple[str, dict]] | str) – Activation configuration for each layer or a single activation name.
dropout (float, optional) – Dropout probability applied after activation, by default 0.0.
batch_norm (bool, optional) – Use BatchNorm1d after Linear, by default True.
- __init__(input_size, layer_sizes, activations='GELU', dropout=0.0, batch_norm=True)[source]¶
Initialize MLP.
- Parameters:
input_size (int) – Input feature dimension.
layer_sizes (list[int]) – Layer sizes.
activations (str | list[tuple[str, dict]], optional) – Activation configuration, by default “GELU”.
dropout (float, optional) – Dropout probability, by default 0.0.
batch_norm (bool, optional) – Use BatchNorm1d, by default True.
- Return type:
None
- class OCDocker.OCScore.DNN.future.models.MultiTaskModel(*args, **kwargs)[source]¶
Bases:
ModuleShared encoder with heads for energy, activity, embedding and reconstruction.
- Parameters:
input_size (int) – Input feature dimension.
encoder_params (dict | None) – Encoder params (old-style).
shared_sizes (list[int]) – Sizes for shared encoder when encoder_params is None.
shared_activation (str, optional) – Activation for shared encoder, by default GELU.
decoder_sizes (list[int] | None, optional) – Decoder sizes for reconstruction. If None, decoder is disabled.
head_sizes (list[int]) – Hidden sizes for heads.
embedding_dim (int | None) – Output dimension for embedding head.
dropout (float, optional) – Dropout probability.
batch_norm (bool, optional) – Use BatchNorm1d.
mask (torch.Tensor | None) – Feature mask.
- __init__(input_size, encoder_params, shared_sizes, shared_activation='GELU', decoder_sizes=None, head_sizes=[128, 64], embedding_dim=64, dropout=0.0, batch_norm=True, mask=None)[source]¶
Initialize multi-task model.
- Parameters:
input_size (int) – Input feature dimension.
encoder_params (dict | None) – Encoder parameters (legacy format).
shared_sizes (list[int]) – Shared encoder layer sizes.
shared_activation (str, optional) – Activation name, by default “GELU”.
decoder_sizes (list[int] | None, optional) – Decoder sizes for reconstruction, by default None.
head_sizes (list[int], optional) – Head hidden sizes, by default [128, 64].
embedding_dim (int | None, optional) – Embedding dimension, by default 64.
dropout (float, optional) – Dropout probability, by default 0.0.
batch_norm (bool, optional) – Use BatchNorm1d, by default True.
mask (torch.Tensor | None, optional) – Feature mask, by default None.
- Return type:
None
- forward(x, return_reconstruction=False)[source]¶
Forward pass.
- Parameters:
x (torch.Tensor) – Input tensor.
return_reconstruction (bool, optional) – Whether to return reconstruction, by default False.
- Returns:
Dictionary with latent, energy, activity, embedding and reconstruction tensors.
- Return type:
dict[str, torch.Tensor]
- OCDocker.OCScore.DNN.future.models.parse_encoder_params(encoder_params)[source]¶
Parse old-style encoder params into layer sizes and activation configs.
- Parameters:
encoder_params (Dict[str, Any]) – Encoder parameters dictionary.
- Returns:
Layer sizes and activation configs.
- Return type:
tuple[list[int], list[tuple[str, dict]]]