flow_preprocessing.preprocessing_logic.config.PreprocessorBaseConfig
- class flow_preprocessing.preprocessing_logic.config.PreprocessorBaseConfig(*, huggingface_target_repo_name, huggingface_target_repo_private=False, append=False, export_mode='line', crop=False, allow_empty_lines=False, batch_size=32, augmentation_loops=None, min_width_line=None, min_height_line=None, split_train_ratio=None, split_seed=42, split_shuffle=True, segment=None, segmenter_config=None)[source]
Configuration for the preprocessor.
Encapsulates all configuration parameters with validation and clear defaults. Uses Pydantic for validation and schema metadata.
- Parameters:
huggingface_target_repo_name (Annotated[str, FieldInfo(annotation=NoneType, required=True, alias='huggingface_target_repo_name', alias_priority=2, title='HuggingFace-Target-Repo-Name', description='HuggingFace target repository name.', examples=['my-org/my-repo'])])
huggingface_target_repo_private (Annotated[bool | None, FieldInfo(annotation=NoneType, required=False, default=False, alias='huggingface_target_repo_private', alias_priority=2, title='HuggingFace-Target-Repo-Private', description='Whether the target repository is private.', examples=['false'])])
append (Annotated[bool | None, FieldInfo(annotation=NoneType, required=False, default=False, alias='append', alias_priority=2, title='Append', description='Append to an existing dataset if it exists, else overwrite it.', examples=['false'])])
export_mode (Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default='line', alias='export_mode', alias_priority=2, title='Export-Mode', description='Export mode for preprocessing output.', examples=['line'])])
crop (Annotated[bool | None, FieldInfo(annotation=NoneType, required=False, default=False, alias='crop', alias_priority=2, title='Crop', description='Whether to crop lines during preprocessing.', examples=['false'])])
allow_empty_lines (Annotated[bool | None, FieldInfo(annotation=NoneType, required=False, default=False, alias='allow_empty_lines', alias_priority=2, title='Allow-Empty-Lines', description='Allow empty lines in output.', examples=['false'])])
batch_size (Annotated[int | None, FieldInfo(annotation=NoneType, required=False, default=32, alias='batch_size', alias_priority=2, title='Batch-Size', description='Batch size for processing.', examples=['32'])])
augmentation_loops (Annotated[int | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='augmentation_loops', alias_priority=2, title='Augmentation-Loops', description="Augmentation loops for random preprocessing, works only with export_mode==line (e.g., if it is equal to 2, you'll get three lines)", examples=['2'], metadata=[Ge(ge=0)])])
min_width_line (Annotated[int | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='min_width_line', alias_priority=2, title='Min-Width-Line', description='Minimum width of a line; None disables filtering.', examples=['40'], metadata=[Gt(gt=0)])])
min_height_line (Annotated[int | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='min_height_line', alias_priority=2, title='Min-Height-Line', description='Minimum height of a line; None disables filtering.', examples=['10'], metadata=[Gt(gt=0)])])
split_train_ratio (Annotated[float | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='split_train_ratio', alias_priority=2, title='Split-Train-Ratio', description='Train split ratio; None disables splitting.', examples=['0.8'], metadata=[Gt(gt=0.0), Le(le=1.0)])])
split_seed (Annotated[int, FieldInfo(annotation=NoneType, required=False, default=42, alias='split_seed', alias_priority=2, title='Split-Seed', description='Random seed for dataset splitting.', examples=['42'], metadata=[Ge(ge=0)])])
split_shuffle (Annotated[bool | None, FieldInfo(annotation=NoneType, required=False, default=True, alias='split_shuffle', alias_priority=2, title='Split-Shuffle', description='Shuffle before splitting the dataset.', examples=['true'])])
segment (Annotated[Literal['yolo', 'kraken'] | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='segment', alias_priority=2, title='Segment', description='Segmentation backend to use.', examples=['yolo'])])
segmenter_config (Annotated[SegmenterConfig | SegmenterBaseConfig | dict | None, FieldInfo(annotation=NoneType, required=False, default=None, alias='segmenter_config', alias_priority=2, title='Segmenter-Config', description='Configuration for the segmentation backend.', examples=["{'model_names': 'Riksarkivet/yolov9-lines-within-regions-1','batch_sizes': 16,'order_lines': false,'baselines': true,'kraken_linemasks': true,'creator': 'yourname','load_existing_segmentation': true}"])])
- __init__(**data)
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- Return type:
None
Methods
__init__(**data)Create a new model by parsing and validating input data from keyword arguments.
construct([_fields_set])copy(*[, include, exclude, update, deep])Returns a copy of the model.
dict(*[, include, exclude, by_alias, ...])from_orm(obj)json(*[, include, exclude, by_alias, ...])model_construct([_fields_set])Creates a new instance of the Model class with validated data.
model_copy(*[, update, deep])!!! abstract "Usage Documentation"
model_dump(*[, mode, include, exclude, ...])!!! abstract "Usage Documentation"
model_dump_json(*[, indent, ensure_ascii, ...])!!! abstract "Usage Documentation"
model_json_schema([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name(params)Compute the class name for parametrizations of generic classes.
model_post_init(context, /)Override this method to perform additional initialization after __init__ and model_construct.
model_rebuild(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate(obj, *[, strict, extra, ...])Validate a pydantic model instance.
model_validate_json(json_data, *[, strict, ...])!!! abstract "Usage Documentation"
model_validate_strings(obj, *[, strict, ...])Validate the given object with string data against the Pydantic model.
parse_file(path, *[, content_type, ...])parse_obj(obj)parse_raw(b, *[, content_type, encoding, ...])schema([by_alias, ref_template])schema_json(*[, by_alias, ref_template])update_forward_refs(**localns)validate(value)Attributes
model_computed_fieldsmodel_configConfiguration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extraGet extra fields set during validation.
model_fieldsmodel_fields_setReturns the set of fields that have been explicitly set on this model instance.
requires_xml_parsingCheck if the export mode requires XML parsing.
huggingface_target_repo_namehuggingface_target_repo_privateappendexport_modecropallow_empty_linesbatch_sizeaugmentation_loopsmin_width_linemin_height_linesplit_train_ratiosplit_seedsplit_shufflesegmentsegmenter_config