


'''simple docstring'''






import argparse
import os

import torch

from transformers import (
    XLNetConfig,
    XLNetForQuestionAnswering,
    XLNetForSequenceClassification,
    XLNetLMHeadModel,
    load_tf_weights_in_xlnet,
)
from transformers.utils import CONFIG_NAME, WEIGHTS_NAME, logging


__A :  List[str]    							=				{
    "cola": 2,
    "mnli": 3,
    "mrpc": 2,
    "sst-2": 2,
    "sts-b": 1,
    "qqp": 2,
    "qnli": 2,
    "rte": 2,
    "wnli": 2,
}


logging.set_verbosity_info()







def     UpperCamelCase_      (   A__ :       Optional[int]							,   A__ :       int							,   A__ :       Union[str, Any]							,   A__ :       List[Any]=None ):
  '''simple docstring'''





  lowerCAmelCase_      :				Any      =       XLNetConfig.from_json_file(A__ )

  lowerCAmelCase_      :				Union[str, Any]      =       finetuning_task.lower() if finetuning_task is not None else """"""
  if finetuning_task in GLUE_TASKS_NUM_LABELS:
    print(f'Building PyTorch XLNetForSequenceClassification model from configuration: {config}' )
    lowerCAmelCase_      :				Any      =       finetuning_task
    lowerCAmelCase_      :				int      =       GLUE_TASKS_NUM_LABELS[finetuning_task]
    lowerCAmelCase_      :				Union[str, Any]      =       XLNetForSequenceClassification(A__ )
  elif "squad" in finetuning_task:
    lowerCAmelCase_      :				Dict      =       finetuning_task
    lowerCAmelCase_      :				Optional[Any]      =       XLNetForQuestionAnswering(A__ )
  else:
    lowerCAmelCase_      :				Dict      =       XLNetLMHeadModel(A__ )

  # Load weights from tf checkpoint
  load_tf_weights_in_xlnet(A__							,   A__							,   A__ )

  # Save pytorch-model
  lowerCAmelCase_      :				Optional[Any]      =       os.path.join(A__							,   A__ )
  lowerCAmelCase_      :				Optional[Any]      =       os.path.join(A__							,   A__ )
  print(f'Save PyTorch model to {os.path.abspath(A__ )}' )
  torch.save(model.state_dict()							,   A__ )
  print(f'Save configuration file to {os.path.abspath(A__ )}' )
  with open(A__							,   """w"""							,   encoding="""utf-8""" ) as f:
    f.write(config.to_json_string() )


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(
      "--xlnet_config_file",
      default=None,
      type=str,
      required=True,
      help=(
          "The config json file corresponding to the pre-trained XLNet model. \n"
          "This specifies the model architecture."
      ),
  )
  parser.add_argument(
      "--pytorch_dump_folder_path",
      default=None,
      type=str,
      required=True,
      help="Path to the folder to store the PyTorch model or dataset/vocab.",
  )
  parser.add_argument(
      "--finetuning_task",
      default=None,
      type=str,
      help="Name of a task on which the XLNet TensorFlow model was fine-tuned",
  )
  __A :  Union[str, Any]    							=				parser.parse_args()
  print(args)

  convert_xlnet_checkpoint_to_pytorch(
      args.tf_checkpoint_path, args.xlnet_config_file, args.pytorch_dump_folder_path, args.finetuning_task
  )







'''simple docstring'''






import requests







def     UpperCamelCase_      (   A__ :       str							,   A__ :       str ):
  '''simple docstring'''





  lowerCAmelCase_      :				Optional[Any]      =       {"""Content-Type""": """application/json"""}
  lowerCAmelCase_      :				Union[str, Any]      =       requests.post(A__							,   json={"""text""": message_body}							,   headers=A__ )
  if response.status_code != 2_00:
    lowerCAmelCase_      :				Dict      =       (
        """Request to slack returned an error """
        f'{response.status_code}, the response is:\n{response.text}'
    )
    raise ValueError(A__ )


if __name__ == "__main__":
  # Set the slack url to the one provided by Slack when you create the webhook at
  # https://my.slack.com/services/new/incoming-webhook/
  send_slack_message("<YOUR MESSAGE BODY>", "<SLACK CHANNEL URL>")



