
    ri                         S SK r S SKrS SKJr  S SKJr  S SKrSSKJr  \R                  " \
5      rSrS	S jr\
S:X  a  \" 5         gg)
    N)Path)Optional   )	VitsModel   c                  2  ^ [         R                  " S5        [        R                  " 5       n U R	                  SSSS9  U R	                  SSSS9  U R	                  SS	S
S9  U R                  5       nUR                  (       a#  [        R                  " [        R                  S9  O"[        R                  " [        R                  S9  [        R                  U5        [        UR                  5      nUR                  R                  SSS9  [        UR                   5      n["        R$                  " USS9nUR&                  mTR)                  5         [         R*                  " 5          TR,                  R/                  5         SSS5        S"U4S jjnUTl        TR2                  nTR4                  nSn[         R6                  " SUSU4[         R8                  S9n	[         R:                  " U	R=                  S5      /5      n
SnUS:  a  [         R:                  " S/5      n[         R>                  " / SQ5      nXX4n[         R@                  RC                  TUUS[D        / SQS/SSS.SS0SSS.S.S 9  [        RG                  S!U5        g! , (       d  f       GN= f)#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           	      r   > US   nUS   nUS   nTR                  U UUUUUS9S   R                  S5      nU$ )Nr   r      )noise_scalelength_scalenoise_scale_wsid)infer	unsqueeze)	texttext_lengthsscalesr   r   r   r   audiomodel_gs	           ]/home/kim/smarthome/piper_models/venv/lib/python3.13/site-packages/piper/train/export_onnx.pyinfer_forwardmain.<locals>.infer_forward9   sb    Qiayq	#%'  
  Yq\ 	     2   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   s                 @r   mainr_      sE   	d$$&F
,N   $-J   ,-R   Dzz'--0',,/MM$ t''(KTD94??+O **?OEmmG LLN	&&( 
 $GO//K%%LKq*<&=UZZI ''):(;<&*Cas# 01F<K 
JJ
#?Z%*5.&62
   LL'5i 
s   %J
J__main__)returnN)r8   r=   pathlibr   typingr   r6   vits.lightningr   	getLogger__name__rA   rT   r_    r"   r   <module>rh      sI         %


H
%Z6~ zF r"   