





'''simple docstring'''


import argparse
import json
from pathlib import Path

import requests
import timm
import torch
from huggingface_hub import hf_hub_download
from PIL import Image

from transformers import AutoImageProcessor, SwinvaConfig, SwinvaForImageClassification


def 						__a(SCREAMING_SNAKE_CASE_	:       Union[str, Any]     ):



    '''simple docstring'''





    _lowerCAmelCase						      =   SwinvaConfig()
    _lowerCAmelCase						      =   swinva_name.split("_"     )

    _lowerCAmelCase						      =   name_split[1]
    if "to" in name_split[3]:
        _lowerCAmelCase						      =   int(name_split[3][-3:]     )
    else:
        _lowerCAmelCase						      =   int(name_split[3]     )
    if "to" in name_split[2]:
        _lowerCAmelCase						      =   int(name_split[2][-2:]     )
    else:
        _lowerCAmelCase						      =   int(name_split[2][6:]     )

    if model_size == "tiny":
        _lowerCAmelCase						      =   96
        _lowerCAmelCase						      =   (2, 2, 6, 2)
        _lowerCAmelCase						      =   (3, 6, 12, 24)
    elif model_size == "small":
        _lowerCAmelCase						      =   96
        _lowerCAmelCase						      =   (2, 2, 18, 2)
        _lowerCAmelCase						      =   (3, 6, 12, 24)
    elif model_size == "base":
        _lowerCAmelCase						      =   128
        _lowerCAmelCase						      =   (2, 2, 18, 2)
        _lowerCAmelCase						      =   (4, 8, 16, 32)
    else:
        _lowerCAmelCase						      =   192
        _lowerCAmelCase						      =   (2, 2, 18, 2)
        _lowerCAmelCase						      =   (6, 12, 24, 48)

    if "to" in swinva_name:
        _lowerCAmelCase						      =   (12, 12, 12, 6)

    if ("22k" in swinva_name) and ("to" not in swinva_name):
        _lowerCAmelCase						      =   21841
        _lowerCAmelCase						      =   "huggingface/label-files"
        _lowerCAmelCase						      =   "imagenet-22k-id2label.json"
        _lowerCAmelCase						      =   json.load(open(hf_hub_download(SCREAMING_SNAKE_CASE_		,							SCREAMING_SNAKE_CASE_		,							repo_type="dataset"     )		,							"r"     )     )
        _lowerCAmelCase						      =   {int(SCREAMING_SNAKE_CASE_     ): v for k, v in idalabel.items()}
        _lowerCAmelCase						      =   idalabel
        _lowerCAmelCase						      =   {v: k for k, v in idalabel.items()}

    else:
        _lowerCAmelCase						      =   1000
        _lowerCAmelCase						      =   "huggingface/label-files"
        _lowerCAmelCase						      =   "imagenet-1k-id2label.json"
        _lowerCAmelCase						      =   json.load(open(hf_hub_download(SCREAMING_SNAKE_CASE_		,							SCREAMING_SNAKE_CASE_		,							repo_type="dataset"     )		,							"r"     )     )
        _lowerCAmelCase						      =   {int(SCREAMING_SNAKE_CASE_     ): v for k, v in idalabel.items()}
        _lowerCAmelCase						      =   idalabel
        _lowerCAmelCase						      =   {v: k for k, v in idalabel.items()}

    _lowerCAmelCase						      =   img_size
    _lowerCAmelCase						      =   num_classes
    _lowerCAmelCase						      =   embed_dim
    _lowerCAmelCase						      =   depths
    _lowerCAmelCase						      =   num_heads
    _lowerCAmelCase						      =   window_size

    return config


def 						__a(SCREAMING_SNAKE_CASE_	:       int     ):



    '''simple docstring'''





    if "patch_embed.proj" in name:
        _lowerCAmelCase						      =   name.replace("patch_embed.proj"		,							"embeddings.patch_embeddings.projection"     )
    if "patch_embed.norm" in name:
        _lowerCAmelCase						      =   name.replace("patch_embed.norm"		,							"embeddings.norm"     )
    if "layers" in name:
        _lowerCAmelCase						      =   "encoder." + name
    if "attn.proj" in name:
        _lowerCAmelCase						      =   name.replace("attn.proj"		,							"attention.output.dense"     )
    if "attn" in name:
        _lowerCAmelCase						      =   name.replace("attn"		,							"attention.self"     )
    if "norm1" in name:
        _lowerCAmelCase						      =   name.replace("norm1"		,							"layernorm_before"     )
    if "norm2" in name:
        _lowerCAmelCase						      =   name.replace("norm2"		,							"layernorm_after"     )
    if "mlp.fc1" in name:
        _lowerCAmelCase						      =   name.replace("mlp.fc1"		,							"intermediate.dense"     )
    if "mlp.fc2" in name:
        _lowerCAmelCase						      =   name.replace("mlp.fc2"		,							"output.dense"     )
    if "q_bias" in name:
        _lowerCAmelCase						      =   name.replace("q_bias"		,							"query.bias"     )
    if "k_bias" in name:
        _lowerCAmelCase						      =   name.replace("k_bias"		,							"key.bias"     )
    if "v_bias" in name:
        _lowerCAmelCase						      =   name.replace("v_bias"		,							"value.bias"     )
    if "cpb_mlp" in name:
        _lowerCAmelCase						      =   name.replace("cpb_mlp"		,							"continuous_position_bias_mlp"     )
    if name == "norm.weight":
        _lowerCAmelCase						      =   "layernorm.weight"
    if name == "norm.bias":
        _lowerCAmelCase						      =   "layernorm.bias"

    if "head" in name:
        _lowerCAmelCase						      =   name.replace("head"		,							"classifier"     )
    else:
        _lowerCAmelCase						      =   "swinv2." + name

    return name


def 						__a(SCREAMING_SNAKE_CASE_	:       Tuple		,							SCREAMING_SNAKE_CASE_	:       Optional[int]     ):



    '''simple docstring'''





    for key in orig_state_dict.copy().keys():
        _lowerCAmelCase						      =   orig_state_dict.pop(SCREAMING_SNAKE_CASE_     )

        if "mask" in key:
            continue
        elif "qkv" in key:
            _lowerCAmelCase						      =   key.split("."     )
            _lowerCAmelCase						      =   int(key_split[1]     )
            _lowerCAmelCase						      =   int(key_split[3]     )
            _lowerCAmelCase						      =   model.swinva.encoder.layers[layer_num].blocks[block_num].attention.self.all_head_size

            if "weight" in key:
                _lowerCAmelCase						      =   val[:dim, :]
                _lowerCAmelCase						      =   val[dim : dim * 2, :]
                _lowerCAmelCase						      =   val[-dim:, :]
            else:
                _lowerCAmelCase						      =   val[:dim]
                _lowerCAmelCase						      =   val[
                    dim : dim * 2
                ]
                _lowerCAmelCase						      =   val[-dim:]
        else:
            _lowerCAmelCase						      =   val

    return orig_state_dict


def 						__a(SCREAMING_SNAKE_CASE_	:       List[Any]		,							SCREAMING_SNAKE_CASE_	:       int     ):



    '''simple docstring'''





    _lowerCAmelCase						      =   timm.create_model(SCREAMING_SNAKE_CASE_		,							pretrained=SCREAMING_SNAKE_CASE_     )
    timm_model.eval()

    _lowerCAmelCase						      =   get_swinva_config(SCREAMING_SNAKE_CASE_     )
    _lowerCAmelCase						      =   SwinvaForImageClassification(SCREAMING_SNAKE_CASE_     )
    model.eval()

    _lowerCAmelCase						      =   convert_state_dict(timm_model.state_dict()		,							SCREAMING_SNAKE_CASE_     )
    model.load_state_dict(SCREAMING_SNAKE_CASE_     )

    _lowerCAmelCase						      =   "http://images.cocodataset.org/val2017/000000039769.jpg"

    _lowerCAmelCase						      =   AutoImageProcessor.from_pretrained("microsoft/{}".format(swinva_name.replace("_"		,							"-"     )     )     )
    _lowerCAmelCase						      =   Image.open(requests.get(SCREAMING_SNAKE_CASE_		,							stream=SCREAMING_SNAKE_CASE_     ).raw     )
    _lowerCAmelCase						      =   image_processor(images=SCREAMING_SNAKE_CASE_		,							return_tensors="pt"     )

    _lowerCAmelCase						      =   timm_model(inputs["pixel_values"]     )
    _lowerCAmelCase						      =   model(**SCREAMING_SNAKE_CASE_     ).logits

    assert torch.allclose(SCREAMING_SNAKE_CASE_		,							SCREAMING_SNAKE_CASE_		,							atol=1e-3     )

    print(F'''Saving model {swinva_name} to {pytorch_dump_folder_path}'''     )
    model.save_pretrained(SCREAMING_SNAKE_CASE_     )

    print(F'''Saving image processor to {pytorch_dump_folder_path}'''     )
    image_processor.save_pretrained(SCREAMING_SNAKE_CASE_     )

    model.push_to_hub(
        repo_path_or_name=Path(SCREAMING_SNAKE_CASE_		,							SCREAMING_SNAKE_CASE_     )		,							organization="nandwalritik"		,							commit_message="Add model"		,							)


if __name__ == "__main__":
       _SCREAMING_SNAKE_CASE									=				argparse.ArgumentParser()
       # Required parameters
       parser.add_argument(
           "--swinv2_name",
           default="swinv2_tiny_patch4_window8_256",
           type=str,
           help="Name of the Swinv2 timm model you'd like to convert.",
       )
       parser.add_argument(
           "--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model directory."
       )

       _SCREAMING_SNAKE_CASE									=				parser.parse_args()
       convert_swinva_checkpoint(args.swinva_name, args.pytorch_dump_folder_path)









'''simple docstring'''


from ..utils import DummyObject, requires_backends

class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







def 						__a(*SCREAMING_SNAKE_CASE_	:       Optional[Any]		,							**SCREAMING_SNAKE_CASE_	:       int     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       str		,							**SCREAMING_SNAKE_CASE_	:       str     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       str		,							**SCREAMING_SNAKE_CASE_	:       List[Any]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       Optional[Any]		,							**SCREAMING_SNAKE_CASE_	:       List[str]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       List[Any]		,							**SCREAMING_SNAKE_CASE_	:       List[str]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       Tuple		,							**SCREAMING_SNAKE_CASE_	:       str     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       int		,							**SCREAMING_SNAKE_CASE_	:       Dict     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )

class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)


