Model Schema
Schema definitions for validating supported model architectures and layer blocks.
UnitFloat
module-attribute
¶
A float that must be in range of [0, 1].
PaddingTypeStr
module-attribute
¶
Padding modes supported by Keras convolution and pooling layers.
PositiveIntTuple
module-attribute
¶
A single positive integer or a tuple of two positive integers, usually used for sizes/strides.
NormalizationStr
module-attribute
¶
Available normalization layers.
ActivationStr
module-attribute
¶
ActivationStr: TypeAlias = Literal[
"celu",
"elu",
"exponential",
"gelu",
"glu",
"hard_shrink",
"hard_sigmoid",
"hard_silu",
"hard_tanh",
"leaky_relu",
"linear",
"log_sigmoid",
"log_softmax",
"mish",
"relu",
"relu6",
"selu",
"sigmoid",
"silu",
"soft_shrink",
"softmax",
"softplus",
"softsign",
"sparse_plus",
"sparsemax",
"squareplus",
"tanh",
"tanh_shrink",
"threshold",
]
Supported Keras activation functions.
WeightInitializationStr
module-attribute
¶
WeightInitializationStr: TypeAlias = Literal[
"glorot_normal",
"glorot_uniform",
"he_normal",
"he_uniform",
"lecun_normal",
"lecun_uniform",
"ones",
"random_normal",
"random_uniform",
"truncated_normal",
"variance_scaling",
"zeros",
]
Keras weight initialization strategies.
LayerConfig
module-attribute
¶
LayerConfig = Annotated[
_Activation
| _Conv2D
| _CoordConv2D
| _DepthwiseConv2D
| _SeparableConv2D
| _MLP
| _MaxBlurPooling2D
| _MaxPooling2D
| _AveragePooling2D
| _ZeroPadding2D
| _SqueezeExcite
| _BatchNormalization
| _Dropout
| _SpatialDropout2D
| _GaussianNoise
| _LayerNorm
| _RMSNorm
| _DyT,
Field(discriminator="layer"),
]
AnyModelConfig
module-attribute
¶
AnyModelConfig = Annotated[
CCTModelConfig, Field(discriminator="model")
]
Supported model-architecture. New model configs should be added here.
_Rescaling ¶
Bases: BaseModel
_Activation ¶
Bases: BaseModel
_Conv2DBase ¶
Bases: BaseModel
kernel_initializer
class-attribute
instance-attribute
¶
kernel_initializer: WeightInitializationStr = 'he_normal'
bias_initializer
class-attribute
instance-attribute
¶
bias_initializer: WeightInitializationStr = 'zeros'
_Conv2D ¶
Bases: _Conv2DBase
_CoordConv2D ¶
Bases: _Conv2DBase
_DepthwiseConv2D ¶
Bases: BaseModel
depthwise_initializer
class-attribute
instance-attribute
¶
depthwise_initializer: WeightInitializationStr = "he_normal"
bias_initializer
class-attribute
instance-attribute
¶
bias_initializer: WeightInitializationStr = 'zeros'
to_keras_layer ¶
Source code in fast_plate_ocr/train/model/model_schema.py
_SeparableConv2D ¶
Bases: BaseModel
depthwise_initializer
class-attribute
instance-attribute
¶
depthwise_initializer: WeightInitializationStr = "he_normal"
pointwise_initializer
class-attribute
instance-attribute
¶
pointwise_initializer: WeightInitializationStr = (
"glorot_uniform"
)
bias_initializer
class-attribute
instance-attribute
¶
bias_initializer: WeightInitializationStr = 'zeros'
to_keras_layer ¶
Source code in fast_plate_ocr/train/model/model_schema.py
_MaxBlurPooling2D ¶
Bases: BaseModel
_MaxPooling2D ¶
Bases: BaseModel
_AveragePooling2D ¶
Bases: BaseModel
_ZeroPadding2D ¶
Bases: BaseModel
_SqueezeExcite ¶
Bases: BaseModel
_Dropout ¶
_SpatialDropout2D ¶
Bases: BaseModel
_GaussianNoise ¶
Bases: BaseModel
_LayerNorm ¶
Bases: BaseModel
_RMSNorm ¶
Bases: BaseModel
_DyT ¶
Bases: BaseModel
_CCTTokenizerConfig ¶
Bases: BaseModel
_CCTTransformerEncoderConfig ¶
Bases: BaseModel
_consistency_checks ¶
Source code in fast_plate_ocr/train/model/model_schema.py
CCTModelConfig ¶
Bases: BaseModel
load_model_config_from_yaml ¶
load_model_config_from_yaml(
yaml_path: PathLike,
) -> AnyModelConfig
Loads, parses, and validates a YAML file defining a model architecture.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
yaml_path
|
PathLike
|
Path to the YAML file. |
required |
Returns:
Name | Type | Description |
---|---|---|
AnyModelConfig |
AnyModelConfig
|
Parsed and validated model configuration. |
Raises:
Type | Description |
---|---|
FileNotFoundError
|
If the YAML file does not exist. |