
"""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       lowerCamelCase__		(			__snake_case,     __snake_case,     __snake_case	)							->		List[Any]:


					"""simple docstring"""





					_UpperCamelCase							 =  RemBertConfig.from_json_file(__snake_case	)
					print('''Building PyTorch model from configuration: {}'''.format(str(__snake_case	)	)	)
					_UpperCamelCase							 =  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														=		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														=		parser.parse_args()
				convert_rembert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.rembert_config_file, args.pytorch_dump_path)








"""simple docstring"""





from __future__ import annotations



def       lowerCamelCase__		(			__snake_case,     __snake_case,     __snake_case	)							->		int | float:


					"""simple docstring"""





					if len(__snake_case	) == 0:
										raise ValueError('''find_max() arg is an empty sequence'''	)
					if (
					    left >= len(__snake_case	)
					    or left < -len(__snake_case	)
					    or right >= len(__snake_case	)
					    or right < -len(__snake_case	)
					):
										raise IndexError('''list index out of range'''	)
					if left == right:
										return nums[left]
					_UpperCamelCase							 =  (left + right) >> 1  # the middle
					_UpperCamelCase							 =  find_max(__snake_case,     __snake_case,     __snake_case	)  # find max in range[left, mid]
					_UpperCamelCase							 =  find_max(__snake_case,     mid + 1,     __snake_case	)  # find max in range[mid + 1, right]

					return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
				import doctest

				doctest.testmod(verbose=True)






