'''simple docstring'''

import argparse

import torch

from transformers import FunnelBaseModel, FunnelConfig, FunnelModel, load_tf_weights_in_funnel
from transformers.utils import logging


logging.set_verbosity_info()



def 							UpperCamelCase__			(			a__			,      a__			,      a__			,      a__      ):


						'''simple docstring'''






						_lowerCAmelCase										=FunnelConfig.from_json_file(a__      )
						print(F'''Building PyTorch model from configuration: {config}'''      )
						_lowerCAmelCase										=FunnelBaseModel(a__      ) if base_model else FunnelModel(a__      )

						# Load weights from tf checkpoint
						load_tf_weights_in_funnel(a__			,      a__			,      a__      )

						# Save pytorch-model
						print(F'''Save PyTorch model to {pytorch_dump_path}'''      )
						torch.save(model.state_dict()			,      a__      )


if __name__ == "__main__":
							lowercase_     		= argparse.ArgumentParser()
							# Required parameters
							parser.add_argument(
							    '''--tf_checkpoint_path''', default=None, type=str, required=True, help='''Path to the TensorFlow checkpoint path.'''
							)
							parser.add_argument(
							    '''--config_file''',
							    default=None,
							    type=str,
							    required=True,
							    help='''The config json file corresponding to the pre-trained model. \nThis specifies the model architecture.''',
							)
							parser.add_argument(
							    '''--pytorch_dump_path''', default=None, type=str, required=True, help='''Path to the output PyTorch model.'''
							)
							parser.add_argument(
							    '''--base_model''', action='''store_true''', help='''Whether you want just the base model (no decoder) or not.'''
							)
							lowercase_     		= parser.parse_args()
							convert_tf_checkpoint_to_pytorch(
							    args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
							)






'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


lowercase_     		= {'''configuration_vit_mae''': ['''VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViTMAEConfig''']}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase_     		= [
							    '''VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''ViTMAEForPreTraining''',
							    '''ViTMAELayer''',
							    '''ViTMAEModel''',
							    '''ViTMAEPreTrainedModel''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase_     		= [
							    '''TFViTMAEForPreTraining''',
							    '''TFViTMAEModel''',
							    '''TFViTMAEPreTrainedModel''',
							]

if TYPE_CHECKING:
							from .configuration_vit_mae import VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMAEConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_vit_mae import (
														    VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST,
														    ViTMAEForPreTraining,
														    ViTMAELayer,
														    ViTMAEModel,
														    ViTMAEPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_vit_mae import TFViTMAEForPreTraining, TFViTMAEModel, TFViTMAEPreTrainedModel


else:
							import sys

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





