






"""simple docstring"""


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


_UpperCamelCase							:       Optional[int]       					=		{
    "configuration_markuplm": ["MARKUPLM_PRETRAINED_CONFIG_ARCHIVE_MAP", "MarkupLMConfig"],
    "feature_extraction_markuplm": ["MarkupLMFeatureExtractor"],
    "processing_markuplm": ["MarkupLMProcessor"],
    "tokenization_markuplm": ["MarkupLMTokenizer"],
}

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase							:       List[Any]       					=		["MarkupLMTokenizerFast"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCamelCase							:       List[str]       					=		[
       "MARKUPLM_PRETRAINED_MODEL_ARCHIVE_LIST",
       "MarkupLMForQuestionAnswering",
       "MarkupLMForSequenceClassification",
       "MarkupLMForTokenClassification",
       "MarkupLMModel",
       "MarkupLMPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_markuplm import MARKUPLM_PRETRAINED_CONFIG_ARCHIVE_MAP, MarkupLMConfig
   from .feature_extraction_markuplm import MarkupLMFeatureExtractor
   from .processing_markuplm import MarkupLMProcessor
   from .tokenization_markuplm import MarkupLMTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_markuplm_fast import MarkupLMTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_markuplm import (
          MARKUPLM_PRETRAINED_MODEL_ARCHIVE_LIST,
          MarkupLMForQuestionAnswering,
          MarkupLMForSequenceClassification,
          MarkupLMForTokenClassification,
          MarkupLMModel,
          MarkupLMPreTrainedModel,
      )


else:
   import sys

   _UpperCamelCase							:       List[Any]       					=		_LazyModule(__name__, globals()['__file__'], _import_structure)






import argparse

from transformers import ConvBertConfig, ConvBertModel, TFConvBertModel, load_tf_weights_in_convbert
from transformers.utils import logging


logging.set_verbosity_info()
def        __lowercase(							__snake_case				:		Dict    ,__snake_case				:		List[str]    ,__snake_case				:		List[Any]					)       ->   str:
       __snake_case						       =   ConvBertConfig.from_json_file(__snake_case					)
       __snake_case						       =   ConvBertModel(__snake_case					)

       __snake_case						       =   load_tf_weights_in_convbert(__snake_case    ,__snake_case    ,__snake_case					)
       model.save_pretrained(__snake_case					)

       __snake_case						       =   TFConvBertModel.from_pretrained(__snake_case    ,from_pt=__snake_case					)
       tf_model.save_pretrained(__snake_case					)


if __name__ == "__main__":
 lowerCamelCase_				:							List[Any]       =    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(
     "--convbert_config_file",
     default=None,
     type=str,
     required=True,
     help=(
         "The config json file corresponding to the pre-trained ConvBERT 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."
 )
 lowerCamelCase_				:							Union[str, Any]       =    parser.parse_args()
 convert_orig_tfa_checkpoint_to_pytorch(args.tf_checkpoint_path, args.convbert_config_file, args.pytorch_dump_path)
