



"""simple docstring"""





import argparse

import numpy as np
import torch

from transformers import SpeechTaHifiGan, SpeechTaHifiGanConfig, logging


logging.set_verbosity_info()
lowerCamelCase       	=						logging.get_logger("""transformers.models.speecht5""")
def        a__     (				lowerCAmelCase__     ,      lowerCAmelCase__     ,      lowerCAmelCase__				):
      hf_model.apply_weight_norm()

      UpperCAmelCase_      			=							checkpoint["input_conv.weight_g"]
      UpperCAmelCase_      			=							checkpoint["input_conv.weight_v"]
      UpperCAmelCase_      			=							checkpoint["input_conv.bias"]

      for i in range(len(config.upsample_rates				)				):
            UpperCAmelCase_      			=							checkpoint[f"""upsamples.{i}.1.weight_g"""]
            UpperCAmelCase_      			=							checkpoint[f"""upsamples.{i}.1.weight_v"""]
            UpperCAmelCase_      			=							checkpoint[f"""upsamples.{i}.1.bias"""]

      for i in range(len(config.upsample_rates				) * len(config.resblock_kernel_sizes				)				):
            for j in range(len(config.resblock_dilation_sizes				)				):
                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs1.{j}.1.weight_g"""]
                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs1.{j}.1.weight_v"""]
                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs1.{j}.1.bias"""]

                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs2.{j}.1.weight_g"""]
                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs2.{j}.1.weight_v"""]
                  UpperCAmelCase_      			=							checkpoint[f"""blocks.{i}.convs2.{j}.1.bias"""]

      UpperCAmelCase_      			=							checkpoint["output_conv.1.weight_g"]
      UpperCAmelCase_      			=							checkpoint["output_conv.1.weight_v"]
      UpperCAmelCase_      			=							checkpoint["output_conv.1.bias"]

      hf_model.remove_weight_norm()
@torch.no_grad()
def        a__     (				lowerCAmelCase__     ,      lowerCAmelCase__     ,      lowerCAmelCase__     ,      lowerCAmelCase__=None     ,      lowerCAmelCase__=None     ,      ):
      if config_path is not None:
            UpperCAmelCase_      			=							SpeechTaHifiGanConfig.from_pretrained(lowerCAmelCase__				)
      else:
            UpperCAmelCase_      			=							SpeechTaHifiGanConfig()

      UpperCAmelCase_      			=							SpeechTaHifiGan(lowerCAmelCase__				)

      UpperCAmelCase_      			=							torch.load(lowerCAmelCase__				)
      load_weights(orig_checkpoint["model"]["generator"]     ,      lowerCAmelCase__     ,      lowerCAmelCase__				)

      UpperCAmelCase_      			=							np.load(lowerCAmelCase__				)
      UpperCAmelCase_      			=							stats[0].reshape(-1				)
      UpperCAmelCase_      			=							stats[1].reshape(-1				)
      UpperCAmelCase_      			=							torch.from_numpy(lowerCAmelCase__				).float()
      UpperCAmelCase_      			=							torch.from_numpy(lowerCAmelCase__				).float()

      model.save_pretrained(lowerCAmelCase__				)

      if repo_id:
            print("Pushing to the hub..."				)
            model.push_to_hub(lowerCAmelCase__				)


if __name__ == "__main__":
  lowerCamelCase       	=						argparse.ArgumentParser()
  parser.add_argument("""--checkpoint_path""", required=True, default=None, type=str, help="""Path to original checkpoint""")
  parser.add_argument("""--stats_path""", required=True, default=None, type=str, help="""Path to stats.npy file""")
  parser.add_argument("""--config_path""", default=None, type=str, help="""Path to hf config.json of model to convert""")
  parser.add_argument(
      """--pytorch_dump_folder_path""", required=True, default=None, type=str, help="""Path to the output PyTorch model."""
  )
  parser.add_argument(
      """--push_to_hub""", default=None, type=str, help="""Where to upload the converted model on the 🤗 hub."""
  )

  lowerCamelCase       	=						parser.parse_args()
  convert_hifigan_checkpoint(
      args.checkpoint_path,
      args.stats_path,
      args.pytorch_dump_folder_path,
      args.config_path,
      args.push_to_hub,
  )









"""simple docstring"""





from maths.prime_check import is_prime
def        a__     (				lowerCAmelCase__				):
      if not isinstance(lowerCAmelCase__     ,      lowerCAmelCase__				):
            UpperCAmelCase_      			=							f"""Input value of [number={number}] must be an integer"""
            raise TypeError(lowerCAmelCase__				)
      if is_prime(lowerCAmelCase__				) and is_prime(number + 2				):
            return number + 2
      else:
            return -1


if __name__ == "__main__":
  import doctest

  doctest.testmod()




