import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig







class       __snake_case (  lowerCamelCase__ ):
 __lowerCamelCase     : Any 	=   CustomConfig
 def __init__(	self		, snake_case__    )						->				int:
       '''simple docstring'''





       super().__init__(snake_case__    )
       UpperCAmelCase     :			Optional[int]     	=torch.nn.Linear(config.hidden_size		, config.hidden_size    )
 def 						UpperCAmelCase__							(	self		, snake_case__    )						->				Optional[int]:
       '''simple docstring'''





       return self.linear(snake_case__    )






 def 						UpperCAmelCase__							(	self		, snake_case__    )						->				Any:
       '''simple docstring'''





       pass







class       __snake_case (  lowerCamelCase__ ):
 __lowerCamelCase     : Dict 	=   NoSuperInitConfig
 def __init__(	self		, snake_case__    )						->				Optional[Any]:
       '''simple docstring'''





       super().__init__(snake_case__    )
       UpperCAmelCase     :			Tuple     	=torch.nn.Linear(config.attribute		, config.attribute    )
 def 						UpperCAmelCase__							(	self		, snake_case__    )						->				Union[str, Any]:
       '''simple docstring'''





       return self.linear(snake_case__    )






 def 						UpperCAmelCase__							(	self		, snake_case__    )						->				Tuple:
       '''simple docstring'''





       pass

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
    is_vision_available,
)


__snake_case         =     {
    '''configuration_mobilevitv2''': [
        '''MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''MobileViTV2Config''',
        '''MobileViTV2OnnxConfig''',
    ],
}


try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     __snake_case         =     [
         '''MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''MobileViTV2ForImageClassification''',
         '''MobileViTV2ForSemanticSegmentation''',
         '''MobileViTV2Model''',
         '''MobileViTV2PreTrainedModel''',
     ]

if TYPE_CHECKING:
     from .configuration_mobilevitva import (
         MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
         MobileViTVaConfig,
         MobileViTVaOnnxConfig,
     )

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_mobilevitva import (
              MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST,
              MobileViTVaForImageClassification,
              MobileViTVaForSemanticSegmentation,
              MobileViTVaModel,
              MobileViTVaPreTrainedModel,
          )

else:
     import sys

     __snake_case         =     _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)
