"""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       (					UpperCAmelCase_					:       Any    ,							UpperCAmelCase_					:       Any    ,							UpperCAmelCase_					:       str    ,							UpperCAmelCase_					:       Dict						)							->    Tuple:

	'''simple docstring'''





	__snake_case    :							Any   	=				FunnelConfig.from_json_file(UpperCAmelCase_						)
	print(F"Building PyTorch model from configuration: {config}"						)
	__snake_case    :							Union[str, Any]   	=				FunnelBaseModel(UpperCAmelCase_						) if base_model else FunnelModel(UpperCAmelCase_						)

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

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


if __name__ == "__main__":
	_a  :  Optional[int]=				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."
	)
	_a  :  Union[str, Any]=				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_torch_available


_a  :  Any=				{"configuration_speech_encoder_decoder": ["SpeechEncoderDecoderConfig"]}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_a  :  Union[str, Any]=				["SpeechEncoderDecoderModel"]

try:
	if not is_flax_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_a  :  Tuple=				["FlaxSpeechEncoderDecoderModel"]

if TYPE_CHECKING:
	from .configuration_speech_encoder_decoder import SpeechEncoderDecoderConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_speech_encoder_decoder import SpeechEncoderDecoderModel

	try:
		if not is_flax_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_flax_speech_encoder_decoder import FlaxSpeechEncoderDecoderModel

else:
	import sys

	_a  :  str=				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





