code: 
  
  
  
  '''simple docstring'''
  
  
  
  import os
  from pathlib import Path
  from typing import Dict, List
  
  import fire
  import torch
  
  from transformers import AutoModelForSeqaSeqLM, AutoTokenizer
  from transformers.utils.logging import get_logger
  
  
  a__						:			Union[str, Any]										=			get_logger(__name__)
  
  
  
  
  
  
  
  def _lowercase   (  __A							,__A       ):
  
  
  
   '''simple docstring'''
  
  
  
   if text.startswith(__snake_case       ):
    return text[len(__snake_case       ) :]
   return text  # or whatever
  
  
  
  
  
  
  
  def _lowercase   (  __A       ):
  
  
  
   '''simple docstring'''
  
  
  
   return {remove_prefix(__snake_case							,"""model."""       ): v for k, v in sd.items()}
  
  
  
  
  
  
  
  def _lowercase   (  __A       ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  {}
   for k in state_dicts[0].keys():
    __UpperCamelCase				      =  [sd[k] for sd in state_dicts]
    __UpperCamelCase				      =  sum(__snake_case       ) / len(__snake_case       )
    assert isinstance(__snake_case							,torch.Tensor       )
    __UpperCamelCase				      =  new_t
   return new_sd
  
  
  
  
  
  
  
  def _lowercase   (  __A							,__A							,__A       ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  AutoModelForSeqaSeqLM.from_pretrained(__snake_case       )
   if os.path.isfile(__snake_case       ):
    __UpperCamelCase				      =  [pl_ckpt_path]
   else:
    assert os.path.isdir(__snake_case       )
    __UpperCamelCase				      =  list(Path(__snake_case       ).glob("""*.ckpt"""       )       )
    assert ckpt_files, f"could not find any ckpt files inside the {pl_ckpt_path} directory"
  
   if len(__snake_case       ) > 1:
    logger.info(f"averaging the weights of {ckpt_files}"       )
  
   __UpperCamelCase				      =  [sanitize(torch.load(__snake_case							,map_location="""cpu"""       )["""state_dict"""]       ) for x in ckpt_files]
   __UpperCamelCase				      =  average_state_dicts(__snake_case       )
  
   __UpperCamelCase      ,		__UpperCamelCase				      =  hf_model.load_state_dict(__snake_case							,strict=__snake_case       )
   assert not missing, f"missing keys: {missing}"
   hf_model.save_pretrained(__snake_case       )
   try:
    __UpperCamelCase				      =  AutoTokenizer.from_pretrained(__snake_case       )
    tok.save_pretrained(__snake_case       )
   except Exception:
    pass
    # dont copy tokenizer if cant
  
  
  if __name__ == "__main__":
      fire.Fire(convert_pl_to_hf)
  
  
  
  
  
  
style_context: 
  
  
  
  '''simple docstring'''
  
  
  
  a__						:			Any										=			{
      '0000': '0',
      '0001': '1',
      '0010': '2',
      '0011': '3',
      '0100': '4',
      '0101': '5',
      '0110': '6',
      '0111': '7',
      '1000': '8',
      '1001': '9',
      '1010': 'a',
      '1011': 'b',
      '1100': 'c',
      '1101': 'd',
      '1110': 'e',
      '1111': 'f',
  }
  
  
  
  
  
  
  
  def _lowercase   (  __A       ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  str(__A       ).strip()
  
   # Exceptions
   if not binary_str:
    raise ValueError("""Empty string was passed to the function"""       )
   __UpperCamelCase				      =  binary_str[0] == """-"""
   __UpperCamelCase				      =  binary_str[1:] if is_negative else binary_str
   if not all(char in """01""" for char in binary_str       ):
    raise ValueError("""Non-binary value was passed to the function"""       )
  
   __UpperCamelCase				      =  (
       """0""" * (4 * (divmod(len(__A       )							,4       )[0] + 1) - len(__A       )) + binary_str
   )
  
   __UpperCamelCase				      =  []
   for x in range(0							,len(__A       )							,4       ):
    hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]       )
   __UpperCamelCase				      =  """0x""" + """""".join(__A       )
  
   return "-" + hexadecimal_str if is_negative else hexadecimal_str
  
  
  if __name__ == "__main__":
   from doctest import testmod
  
   testmod()
  
  
  
  
  
  