# Autogenerated code. DO NOT EDIT.
import py_gen_ml as pgml

from . import oneof_demo_base as base


class TransformerPatch(pgml.YamlBaseModel):
    """Transformer configuration"""

    num_layers: int | None = None
    """Number of layers"""

    num_heads: int | None = None
    """Number of heads"""

    activation: str | None = None
    """Activation function"""



class ConvBlockPatch(pgml.YamlBaseModel):
    """Conv block"""

    out_channels: int | None = None
    """Number of output channels"""

    kernel_size: int | None = None
    """Kernel size"""

    activation: str | None = None
    """Activation function"""



class ConvNetPatch(pgml.YamlBaseModel):
    """Convolutional neural network configuration"""

    layers: list[ConvBlockPatch] | None = None
    """Conv layer configuration"""



class ModelPatch(pgml.YamlBaseModel):
    """Model configuration"""

    backbone: TransformerPatch | ConvNetPatch

