
    g                     V   d Z ddlZddlZddlZddlmZmZmZ  ej	                      ej
        d          Zd Z ej                    	 	 dd            Zedk    r ej                    Ze                    dd	ded
           e                    dd	ded           e                    dded           e                    dd	ded           e                    dded           e                                Z eej        ej        ej        ej        ej                   dS dS )z%Convert SpeechT5 HiFi-GAN checkpoint.    N)SpeechT5HifiGanSpeechT5HifiGanConfigloggingztransformers.models.speecht5c                 n   |                                  | d         |j        j        _        | d         |j        j        _        | d         |j        j        _        t          t          |j                            D ]e}| d| d         |j	        |         j        _        | d| d         |j	        |         j        _        | d| d         |j	        |         j        _        ft          t          |j                  t          |j
                  z            D ]C}t          t          |j                            D ]}| d| d	| d         |j        |         j        |         j        _        | d| d	| d         |j        |         j        |         j        _        | d| d	| d         |j        |         j        |         j        _        | d| d
| d         |j        |         j        |         j        _        | d| d
| d         |j        |         j        |         j        _        | d| d
| d         |j        |         j        |         j        _        E| d         |j        j        _        | d         |j        j        _        | d         |j        j        _        |                                 d S )Nzinput_conv.weight_gzinput_conv.weight_vzinput_conv.biasz
upsamples.z.1.weight_gz.1.weight_vz.1.biaszblocks.z.convs1.z.convs2.zoutput_conv.1.weight_gzoutput_conv.1.weight_vzoutput_conv.1.bias)apply_weight_normconv_preweight_gdataweight_vbiasrangelenupsample_rates	upsamplerresblock_kernel_sizesresblock_dilation_sizes	resblocksconvs1convs2	conv_postremove_weight_norm)
checkpointhf_modelconfigijs        h/var/www/html/ai-engine/env/lib/python3.11/site-packages/transformers/models/speecht5/convert_hifigan.pyload_weightsr      s      &01F&GH#&01F&GH#",->"?H3v,--.. N N.89Ta9T9T9T.U1&+.89Ta9T9T9T.U1&+*45L!5L5L5L*M1"''3v,--F4P0Q0QQRR d ds69::;; 	d 	dA<FGjQRGjGj\]GjGjGj<kHq!(+49<FGjQRGjGj\]GjGjGj<kHq!(+498BCbQCbCbXYCbCbCb8cHq!(+05<FGjQRGjGj\]GjGjGj<kHq!(+49<FGjQRGjGj\]GjGjGj<kHq!(+498BCbQCbCbXYCbCbCb8cHq!(+055	d (22J'KH$'12J'KH$#-.B#CH !!!!!    c                    |t          j        |          }nt                      }t          |          }t          j        |           }t          |d         d         ||           t          j        |          }|d                             d          }	|d                             d          }
t          j        |	          	                                |_
        t          j        |
          	                                |_        |                    |           |r&t          d           |                    |           d S d S )Nmodel	generatorr      zPushing to the hub...)r   from_pretrainedr   torchloadr   npreshape
from_numpyfloatmeanscalesave_pretrainedprintpush_to_hub)checkpoint_path
stats_pathpytorch_dump_folder_pathconfig_pathrepo_idr   r!   orig_checkpointstatsr,   r-   s              r   convert_hifigan_checkpointr8   :   s(    &6{CC&((F##Ej11O)+6vFFFGJE8BD!HR  E!$''--//EJ"5))//11EK	2333 #%&&&'"""""# #r   __main__z--checkpoint_pathTzPath to original checkpoint)requireddefaulttypehelpz--stats_pathzPath to stats.npy filez--config_pathz*Path to hf config.json of model to convert)r;   r<   r=   z--pytorch_dump_folder_pathz!Path to the output PyTorch model.z--push_to_hubu4   Where to upload the converted model on the 🤗 hub.)NN)__doc__argparsenumpyr(   r&   transformersr   r   r   set_verbosity_info
get_loggerloggerr   no_gradr8   __name__ArgumentParserparseradd_argumentstr
parse_argsargsr1   r2   r3   r4   r0    r   r   <module>rN      s   , +       H H H H H H H H H H     		:	;	;" " ": 
 # # # #< z$X$&&F
+dDsYvwww
t#Tlmmm
CFrsss
$tTRu     C6l     D%     r   