




'''simple docstring'''




# coding=utf-8
# Copyright 2020 The HuggingFace Inc. team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# this script dumps information about the environment

import os
import sys

import transformers


a_      :		List[str]							      =       """3"""

print("""Python version:""", sys.version)
print("""transformers version:""", transformers.__version__)

try:
     import torch

     print("""Torch version:""", torch.__version__)
     print("""Cuda available:""", torch.cuda.is_available())
     print("""Cuda version:""", torch.version.cuda)
     print("""CuDNN version:""", torch.backends.cudnn.version())
     print("""Number of GPUs available:""", torch.cuda.device_count())
     print("""NCCL version:""", torch.cuda.nccl.version())
except ImportError:
     print("""Torch version:""", None)

try:
     import deepspeed

     print("""DeepSpeed version:""", deepspeed.__version__)
except ImportError:
     print("""DeepSpeed version:""", None)

try:
     import tensorflow as tf

     print("""TensorFlow version:""", tf.__version__)
     print("""TF GPUs available:""", bool(tf.config.list_physical_devices("""GPU""")))
     print("""Number of TF GPUs available:""", len(tf.config.list_physical_devices("""GPU""")))
except ImportError:
     print("""TensorFlow version:""", None)






"""simple docstring"""




import argparse

import torch

from transformers import RemBertConfig, RemBertModel, load_tf_weights_in_rembert
from transformers.utils import logging


logging.set_verbosity_info()


def   __magic_name__	(      __snake_case				:       Optional[Any]     , __snake_case				:       Dict     , __snake_case				:       Any  ) ->				Any:
       # Initialise PyTorch model
       lowercase    :				Union[str, Any]       		=							RemBertConfig.from_json_file(__snake_case  )
       print("Building PyTorch model from configuration: {}".format(str(__snake_case  )  )  )
       lowercase    :				str       		=							RemBertModel(__snake_case  )

       # Load weights from tf checkpoint
       load_tf_weights_in_rembert(__snake_case     , __snake_case     , __snake_case  )

       # Save pytorch-model
       print("Save PyTorch model to {}".format(__snake_case  )  )
       torch.save(model.state_dict()     , __snake_case  )


if __name__ == "__main__":
   _A			:       str   		=       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(
       """--rembert_config_file""",
       default=None,
       type=str,
       required=True,
       help=(
           """The config json file corresponding to the pre-trained RemBERT model. \n"""
           """This specifies the model architecture."""
       ),
   )
   parser.add_argument(
       """--pytorch_dump_path""", default=None, type=str, required=True, help="""Path to the output PyTorch model."""
   )
   _A			:       List[str]   		=       parser.parse_args()
   convert_rembert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.rembert_config_file, args.pytorch_dump_path)


