# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 # This file was automatically generated from src/transformers/models/slanext/modular_slanext.py. # Do NOT edit this file manually as any edits will be overwritten by the generation of # the file from the modular. If any change should be done, please apply the change to the # modular_slanext.py file directly. One of our CI enforces this. # 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 # Copyright 2026 The PaddlePaddle Team and The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from huggingface_hub.dataclasses import strict from ...configuration_utils import PreTrainedConfig from ...utils import auto_docstring @auto_docstring(checkpoint="PaddlePaddle/SLANeXt_wired_safetensors") @strict class SLANeXtVisionConfig(PreTrainedConfig): r""" output_channels (`int`, *optional*, defaults to 256): Dimensionality of the output channels in the Patch Encoder. use_abs_pos (`bool`, *optional*, defaults to `True`): Whether to use absolute position embedding. use_rel_pos (`bool`, *optional*, defaults to `True`): Whether to use relative position embedding. window_size (`int`, *optional*, defaults to 14): Window size for relative position. global_attn_indexes (`list[int]`, *optional*, defaults to `[2, 5, 8, 11]`): The indexes of the global attention layers. mlp_dim (`int`, *optional*, defaults to 3072): The dimensionality of the MLP layer in the Transformer encoder. """ base_config_key = "vision_config" hidden_size: int = 768 output_channels: int = 256 num_hidden_layers: int = 12 num_attention_heads: int = 12 num_channels: int = 3 image_size: int = 512 patch_size: int | list[int] | tuple[int, int] = 16 hidden_act: str = "gelu" layer_norm_eps: float = 1e-06 attention_dropout: float | int = 0.0 initializer_range: float = 1e-10 qkv_bias: bool = True use_abs_pos: bool = True use_rel_pos: bool = True window_size: int = 14 global_attn_indexes: list[int] | tuple[int, ...] = (2, 5, 8, 11) mlp_dim: int = 3072 @auto_docstring(checkpoint="PaddlePaddle/SLANeXt_wired_safetensors") @strict class SLANeXtConfig(PreTrainedConfig): r""" vision_config (`dict` or [`SLANeXtVisionConfig`], *optional*): Configuration for the vision encoder. If `None`, a default [`SLANeXtVisionConfig`] is used. post_conv_in_channels (`int`, *optional*, defaults to 256): Number of input channels for the post-encoder convolution layer. post_conv_out_channels (`int`, *optional*, defaults to 512): Number of output channels for the post-encoder convolution layer. out_channels (`int`, *optional*, defaults to 50): Vocabulary size for the table structure token prediction head, i.e., the number of distinct structure tokens the model can predict. hidden_size (`int`, *optional*, defaults to 512): Dimensionality of the hidden states in the attention GRU cell and the structure/location prediction heads. max_text_length (`int`, *optional*, defaults to 500): Maximum number of autoregressive decoding steps (tokens) for the structure and location decoder. """ model_type = "slanext" sub_configs = {"vision_config": SLANeXtVisionConfig} vision_config: dict | SLANeXtVisionConfig | None = None post_conv_in_channels: int = 256 post_conv_out_channels: int = 512 out_channels: int = 50 hidden_size: int = 512 max_text_length: int = 500 def __post_init__(self, **kwargs): if self.vision_config is None: self.vision_config = SLANeXtVisionConfig() elif isinstance(self.vision_config, dict): self.vision_config = SLANeXtVisionConfig(**self.vision_config) super().__post_init__(**kwargs) __all__ = ["SLANeXtConfig"]