




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  SCREAMING_SNAKE_CASE     (	__UpperCamelCase      :						Any	,					__UpperCamelCase      :						Dict	,					__UpperCamelCase      :						Dict	,					__UpperCamelCase      :						Union[str, Any]				)  ->							Optional[int]:
    # Initialise PyTorch model
    UpperCAmelCase_										=					FunnelConfig.from_json_file(__UpperCamelCase				)
    print(f'Building PyTorch model from configuration: {config}'				)
    UpperCAmelCase_										=					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__":
       _lowerCamelCase      			=						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.'
       )
       _lowerCamelCase      			=						parser.parse_args()
       convert_tf_checkpoint_to_pytorch(
           args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
       )











def  SCREAMING_SNAKE_CASE     (	__UpperCamelCase      :						float	,					__UpperCamelCase      :						float				)  ->							float:

    if density <= 0:
        raise ValueError('''Impossible fluid density'''				)
    if bulk_modulus <= 0:
        raise ValueError('''Impossible bulk modulus'''				)

    return (bulk_modulus / density) ** 0.5


if __name__ == "__main__":
 import doctest

 doctest.testmod()





