o
    
j                     @   sj   d dl Z d dlZd dlmZ d dlmZ d dlZddlmZ e	e
ZdZddd	Ze
d
kr3e  dS dS )    N)Path)Optional   )	VitsModel   returnc                     s  t d t } | jdddd | jdddd | jdd	d
d |  }|jr0tjtj	d ntjtj
d t| t|j}|jjddd t|j}tj|dd}|j    t    j  W d   n1 spw   Y  d# fdd	}| _ j} j}d}t jd|d|ft jd}	t |	dg}
d}|dkrt dg}t g d}|	|
||f}t j j! ||dt"g ddgdddddidddd d! t#d"| dS )$zMain entry pointi  z--checkpointTz Path to model checkpoint (.ckpt))requiredhelpz--output-filezPath to output file (.onnx)z--debug
store_truez#Print DEBUG messages to the console)actionr	   )level)parentsexist_okcpu)map_locationNc                    s<   |d }|d }|d } j | |||||dd d}|S )Nr   r      )noise_scalelength_scalenoise_scale_wsid)infer	unsqueeze)texttext_lengthsscalesr   r   r   r   audiomodel_g J/home/kuhnn/.local/lib/python3.10/site-packages/piper/train/export_onnx.pyinfer_forward9   s    	zmain.<locals>.infer_forward2   r   r   )lowhighsizedtype)gMbX?g      ?g?F)inputinput_lengthsr   r   output
batch_sizephonemes)r   r   time)r   r   )r&   r'   r(   )modelargsfverboseopset_versioninput_namesoutput_namesdynamic_axeszExported model to %s)N)$torchmanual_seedargparseArgumentParseradd_argument
parse_argsdebugloggingbasicConfigDEBUGINFO_LOGGERr   output_fileparentmkdir
checkpointr   load_from_checkpointr   evalno_graddecremove_weight_normforwardn_vocab
n_speakersrandintlong
LongTensorr$   FloatTensoronnxexportOPSET_VERSIONinfo)parserr-   output_pathcheckpoint_pathr,   r    num_symbolsnum_speakersdummy_input_length	sequencessequence_lengthsr   r   dummy_inputr   r   r   main   sj   




r]   __main__)r   N)r6   r;   pathlibr   typingr   r4   vits.lightningr   	getLogger__name__r?   rR   r]   r   r   r   r   <module>   s   

_
