
    Z j                     p    S SK Jr  SSKJr  SSKJr  SSKJrJr  \" SS9\ " S	 S
\5      5       5       r	S
/r
g)    )strict   )PreTrainedConfig)auto_docstring   )CONFIG_MAPPING
AutoConfigz%magic-leap-community/superglue_indoor)
checkpointc                      ^  \ rS rSr% SrSrS\0rSr\	\
-  S-  \S'   Sr\\S'   Sr\\   S-  \S'   Sr\\   S-  \S	'   S
r\\S'   Sr\\S'   Sr\\S'   Sr\\S'   Sr\\S'   Sr\\-  \S'   U 4S jrS rSrU =r$ )SuperGlueConfig   a  
keypoint_detector_config (`Union[AutoConfig, dict]`,  *optional*, defaults to `SuperPointConfig`):
    The config object or dictionary of the keypoint detector.
keypoint_encoder_sizes (`list[int]`, *optional*, defaults to `[32, 64, 128, 256]`):
    The sizes of the keypoint encoder layers.
gnn_layers_types (`list[str]`, *optional*, defaults to `['self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross', 'self', 'cross']`):
    The types of the GNN layers. Must be either 'self' or 'cross'.
sinkhorn_iterations (`int`, *optional*, defaults to 100):
    The number of Sinkhorn iterations.
matching_threshold (`float`, *optional*, defaults to 0.0):
    The matching threshold.

Examples:
    ```python
    >>> from transformers import SuperGlueConfig, SuperGlueModel

    >>> # Initializing a SuperGlue superglue style configuration
    >>> configuration = SuperGlueConfig()

    >>> # Initializing a model from the superglue style configuration
    >>> model = SuperGlueModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```
	supergluekeypoint_detector_configN   hidden_sizekeypoint_encoder_sizesgnn_layers_types   num_attention_headsd   sinkhorn_iterationsg        matching_thresholdg{Gz?initializer_rangeF
is_decoderattention_probs_dropout_probc                   > U R                   b  U R                   OSS/S-  U l         U R                  b  U R                  O/ SQU l        [        U R                  [        5      (       aU  U R                  R                  SS5      U R                  S'   [        U R                  S      " S0 U R                  D6U l        O U R                  c  [        S   " 5       U l        [        TU ]   " S0 UD6  g )Nselfcross	   )    @      r   
model_type
superpoint )	r   r   
isinstancer   dictgetr   super__post_init__)r   kwargs	__class__s     چ/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/transformers/models/superglue/configuration_superglue.pyr*   SuperGlueConfig.__post_init__B   s    9=9N9N9Z 5 5agip`qtu`u+/+F+F+RD''Xj 	# d33T:::>:W:W:[:[\hjv:wD)),7,:4;X;XYe;f,g -//-D) **2,:<,H,JD)''    c                     [        S U R                   5       5      (       d  [        S5      eU R                  U R                  -  S:w  a  [        S5      eg)zOPart of `@strict`-powered validation. Validates the architecture of the config.c              3   *   #    U  H	  oS ;   v   M     g7f))r   r   Nr%   ).0
layer_types     r-   	<genexpr>8SuperGlueConfig.validate_architecture.<locals>.<genexpr>U   s     [EZz!22EZs   z5All gnn_layers_types must be either 'self' or 'cross'r   z8hidden_size % num_attention_heads is different from zeroN)allr   
ValueErrorr   r   )r   s    r-   validate_architecture%SuperGlueConfig.validate_architectureR   sQ     [TEZEZ[[[TUUd666!;WXX <r/   )r   r   r   )__name__
__module____qualname____firstlineno____doc__r#   r	   sub_configsr   r'   r   __annotations__r   intr   listr   strr   r   r   floatr   r   boolr   r*   r8   __static_attributes____classcell__)r,   s   @r-   r   r      s    6 J-z:K?Cd%55<CK/3DI,3)-d3i$&-  "" ###u#J03 #+3( Y Yr/   r   N)huggingface_hub.dataclassesr   configuration_utilsr   utilsr   autor   r	   r   __all__r%   r/   r-   <module>rM      sO    / 3 # - BCAY& AY  DAYH 
r/   