ó
    qyüiä  ã                   ó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_headséd   Úsinkhorn_iterationsg        Úmatching_thresholdg{®Gáz”?Ú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     €Úr/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/models/superglue/configuration_superglue.pyr*   ÚSuperGlueConfig.__post_init__B   sÞ   ø€ Ø9=×9NÑ9NÑ9Z × 5Ò 5ÐagÐipÐ`qÐtuÑ`uˆÔà+/×+FÑ+FÑ+RˆD×'Ò'ÒXjð 	Ô#ô �d×3Ñ3´T×:Ñ:Ø:>×:WÑ:W×:[Ñ:[Ð\hÐjvÓ:wˆD×)Ñ)¨,Ñ7Ü,:¸4×;XÑ;XÐYeÑ;fÒ,gñ -Ø×/Ñ/ñ-ˆDÕ)ð ×*Ñ*Ñ2Ü,:¸<Ò,HÓ,JˆDÔ)ä‰ÒÑ' Ó'ó    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   é € Ð[ÒEZ°zÐ!2Ö2ÒEZùs   ‚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   € ô Ñ[ÀT×EZÒEZÓ[×[Ñ[ÜÐ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Ø)-Ð�d˜3‘i $Ñ&Ó-Ø Ð˜Ó Ø"Ð˜Ó"Ø #Ð˜Ó#Ø#Ð�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/   