import argparse

import torch

from transformers import ElectraConfig, ElectraForMaskedLM, ElectraForPreTraining, load_tf_weights_in_electra
from transformers.utils import logging


logging.set_verbosity_info()





def      __lowercase  (		lowerCamelCase      :  List[str]						,						lowerCamelCase      :  Optional[int]						,						lowerCamelCase      :  List[Any]						,						lowerCamelCase      :  Any			):
 # Initialise PyTorch model
 UpperCamelCase_      :		Any				=      ElectraConfig.from_json_file(lowerCamelCase			)
 print(F"Building PyTorch model from configuration: {config}"			)

 if discriminator_or_generator == "discriminator":
  UpperCamelCase_      :		Union[str, Any]				=      ElectraForPreTraining(lowerCamelCase			)
 elif discriminator_or_generator == "generator":
  UpperCamelCase_      :		int				=      ElectraForMaskedLM(lowerCamelCase			)
 else:
  raise ValueError('The discriminator_or_generator argument should be either \'discriminator\' or \'generator\''			)

 # Load weights from tf checkpoint
 load_tf_weights_in_electra(
     lowerCamelCase						,						lowerCamelCase						,						lowerCamelCase						,						discriminator_or_generator=lowerCamelCase			)

 # Save pytorch-model
 print(F"Save PyTorch model to {pytorch_dump_path}"			)
 torch.save(model.state_dict()						,						lowerCamelCase			)


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(
       '--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(
       '--discriminator_or_generator',
       default=None,
       type=str,
       required=True,
       help=(
           'Whether to export the generator or the discriminator. Should be a string, either \'discriminator\' or '
           '\'generator\'.'
       ),
   )
   a_					      = parser.parse_args()
   convert_tf_checkpoint_to_pytorch(
       args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.discriminator_or_generator
   )




from datetime import date

import requests

a_					      = 'https://api.carbonintensity.org.uk/intensity'





def      __lowercase  (		):
 UpperCamelCase_      :		Dict				=      requests.get(lowerCamelCase			).json()['data'][0]
 return last_half_hour["intensity"]["actual"]





def      __lowercase  (		lowerCamelCase      :  Union[str, Any]						,						lowerCamelCase      :  Union[str, Any]			):
 return requests.get(F"{BASE_URL}/{start}/{end}"			).json()["data"]


if __name__ == "__main__":
   for entry in fetch_from_to(start=date(2_020, 10, 1), end=date(2_020, 10, 3)):
      print('from {from} to {to}: {intensity[actual]}'.format(**entry))
   print(F"""{fetch_last_half_hour() = }""")



