+
    œ°³jöí  ã                   óœ  € R t ^ RIt^ RIHt ^ RIHt ^ RIt^ RIt^ RIH	t	 ^RI
Ht ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHtHt ^RIHt ^RIHtHtHt ^RI H!t! ]PD                  ! ]#4      t$]! RR7      ] ! R R]4      4       4       t%]! RR7      ] ! R R]4      4       4       t&]PN                  PP                  R 4       t)R>R lt*R t+ ! R R]P                  PX                  4      t- ! R R]	PX                  4      t. ! R R]	PX                  4      t/ ! R R ]	PX                  4      t0 ! R! R"]	PX                  4      t1 ! R# R$]	PX                  4      t2 ! R% R&]	PX                  4      t3 ! R' R(]	PX                  4      t4 ! R) R*]	PX                  4      t5 ! R+ R,]	PX                  4      t6 ! R- R.]	PX                  4      t7 ! R/ R0]	PX                  4      t8 ! R1 R2]	PX                  4      t9 ! R3 R4]4      t: ! R5 R6]	PX                  4      t; ! R7 R8]	PX                  4      t<] ! R9 R:]4      4       t=]! R;R7       ! R< R=]=4      4       t>R=R:.t?R# )?zPyTorch VITS model.N)Ú	dataclass)ÚAny)Únn)Úinitialization)ÚACT2FN)Úis_deepspeed_zero3_enabled)Úis_fsdp_managed_module)Úcreate_bidirectional_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚModelOutput)ÚPreTrainedModel)Úauto_docstringÚloggingÚtorch_compilable_check©Ú
VitsConfigz`
    Describes the outputs for the VITS model, with potential hidden states and attentions.
    )Úcustom_introc                   óD   a € ] tR t^'t o RtRtRtRtRtRt	V 3R lt
RtV tR# )ÚVitsModelOutputa  
waveform (`torch.FloatTensor` of shape `(batch_size, sequence_length)`):
    The final audio waveform predicted by the model.
sequence_lengths (`torch.FloatTensor` of shape `(batch_size,)`):
    The length in samples of each element in the `waveform` batch.
spectrogram (`torch.FloatTensor` of shape `(batch_size, sequence_length, num_bins)`):
    The log-mel spectrogram predicted at the output of the flow model. This spectrogram is passed to the Hi-Fi
    GAN decoder model to obtain the final audio waveform.
Nc                ó0  <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   # )é   NÚwaveformÚsequence_lengthsÚspectrogramÚhidden_statesÚ
attentions©ÚtorchÚFloatTensorÚtuple)ÚformatÚ__classdict__s   "€Úg/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/vits/modeling_vits.pyÚ__annotate__ÚVitsModelOutput.__annotate__'   sŒ   ø‡ ‚ ñ" ×Ñ $Õ&Ñ-ñ# ñ$ ×'Ñ'¨$Õ.Ñ5ñ% ñ& ‘u×(Ñ(Õ)¨DÕ0Ñ7ñ' ñ( ™×*Ñ*Õ+¨dÕ2Ñ9ñ) ñ* ‘e×'Ñ'Õ(¨4Õ/Ñ6ò+ ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r"   s   @r#   r   r   '   s-   ø‡ € ñð *.€HØ15ÐØ37€KØ59€MØ26€J÷+ ƒ r&   r   zm
    Describes the outputs for the VITS text encoder model, with potential hidden states and attentions.
    c                   óD   a € ] tR t^?t o RtRtRtRtRtRt	V 3R lt
RtV tR# )ÚVitsTextEncoderOutputaq  
prior_means (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`):
    The predicted mean values of the prior distribution for the latent text variables.
prior_log_variances (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`):
    The predicted log-variance values of the prior distribution for the latent text variables.
Nc                ó   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[S[ P                  ,          R,          ;R&   S[S[ P                  ,          R,          ;R&   # )r   NÚlast_hidden_stateÚprior_meansÚprior_log_variancesr   r   r   )r!   r"   s   "€r#   r$   Ú"VitsTextEncoderOutput.__annotate__?   s‡   ø‡ ‚ ñ ×(Ñ(¨4Õ/Ñ6ñ ñ ×"Ñ" TÕ)Ñ0ñ ñ  ×*Ñ*¨TÕ1Ñ8ñ! ñ" ™×*Ñ*Õ+¨dÕ2Ñ9ñ# ñ$ ‘e×'Ñ'Õ(¨4Õ/Ñ6ò% r&   r'   )r(   r)   r*   r+   r,   r4   r5   r6   r   r   r-   r.   r/   r0   s   @r#   r2   r2   ?   s.   ø‡ € ñð 37ÐØ,0€KØ48ÐØ59€MØ26€J÷% ƒ r&   r2   c                 ó®   € W,           p\         P                  ! VR RV1R 3,          4      p\         P                  ! VR VR1R 3,          4      pWE,          pV# )ºNNNN)r   ÚtanhÚsigmoid)Úinput_aÚinput_bÚnum_channelsÚin_actÚt_actÚs_actÚactss   &&&    r#   Úfused_add_tanh_sigmoid_multiplyrC   T   sP   € àÕ€FÜ�JŠJ�v˜a  , °Ð1Õ2Ó3€EÜ�MŠM˜&  L¡M°1Ð!4Õ5Ó6€EØ�=€DØ€Kr&   c	                óÒ  € W) 8¬  W8*  ,          p	V	( p
\         P                  ! V 4      p\         P                  ! V 4      p\        P                  ! \        P                  ! ^V,
          4      ^,
          4      p\
        P                  P                  VRR7      pWÓR&   WÓR&   W
,          Wº&   RWÊ&   \        W	,          WR3,          W)R3,          W9R3,          VVVVVR7	      w  W¹&   WÉ&   W¼3# )ap	  
This transformation represents a monotonically increasing piecewise rational quadratic function. Outside of the
`tail_bound`, the transform behaves as an identity function.

Args:
    inputs (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Second half of the hidden-states input to the Vits convolutional flow module.
    unnormalized_widths (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        First `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    unnormalized_heights (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        Second `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    unnormalized_derivatives (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        Third `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    reverse (`bool`, *optional*, defaults to `False`):
        Whether the model is being run in reverse mode.
    tail_bound (`float`, *optional* defaults to 5):
        Upper and lower limit bound for the rational quadratic function. Outside of this `tail_bound`, the
        transform behaves as an identity function.
    min_bin_width (`float`, *optional*, defaults to 1e-3):
        Minimum bin value across the width dimension for the piecewise rational quadratic function.
    min_bin_height (`float`, *optional*, defaults to 1e-3):
        Minimum bin value across the height dimension for the piecewise rational quadratic function.
    min_derivative (`float`, *optional*, defaults to 1e-3):
        Minimum bin value across the derivatives for the piecewise rational quadratic function.
Returns:
    outputs (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Hidden-states as transformed by the piecewise rational quadratic function with the `tail_bound` limits
        applied.
    log_abs_det (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Logarithm of the absolute value of the determinants corresponding to the `outputs` with the `tail_bound`
        limits applied.
)Úpadç        r9   )	ÚinputsÚunnormalized_widthsÚunnormalized_heightsÚunnormalized_derivativesÚreverseÚ
tail_boundÚmin_bin_widthÚmin_bin_heightÚmin_derivative)é   rP   ©.é    ©.éÿÿÿÿ)	r   Ú
zeros_likeÚnpÚlogÚexpr   Ú
functionalrE   Ú_rational_quadratic_spline)rG   rH   rI   rJ   rK   rL   rM   rN   rO   Úinside_interval_maskÚoutside_interval_maskÚoutputsÚlog_abs_detÚconstants   &&&&&&&&&     r#   Ú(_unconstrained_rational_quadratic_spliner`   ]   sø   € ð\ # kÑ1°fÑ6JÕKÐØ1Ð1Ðä×Ò˜vÓ&€GÜ×"Ò" 6Ó*€KÜ�vŠv”b—f’f˜Q Õ/Ó0°1Õ4Ó5€Hä!Ÿ}™}×0Ñ0Ð1IÈvÐ0ÓVÐØ'/˜VÑ$Ø(0˜WÑ%à%+Õ%B€GÑ"Ø),€KÑ&äGaØÕ+Ø/ÀaÐ0GÕHØ1ÈÐ2IÕJØ!9ÐPQÐ:QÕ!RØØØ#Ø%Ø%ô
HÑD€GÑ! ;Ñ#Dð ÐÐr&   c	                óÚ  € Tp	V) p
\        V P                  4       V
8¬  V P                  4       V	8*  ,          RV
 RV	 R24       VP                  R,          pWk,          R8”  d   \	        RV RV 24      hW{,          R8”  d   \	        RV RV 24      h\
        P                  P                  VRR7      pV^Wk,          ,
          V,          ,           p\        P                  ! VRR7      p\
        P                  P                  VRR	R
R7      pWš,
          V,          V
,           pW­R&   W�R&   VR,          VRRR13,          ,
          pV\
        P                  P                  V4      ,           p\
        P                  P                  VRR7      pV^W{,          ,
          V,          ,           p\        P                  ! VRR7      p\
        P                  P                  VRR	R
R7      pWš,
          V,          V
,           pV
VR&   V	VR&   VR,          VRRR13,          ,
          pV'       d   TMTpVR;;,          R,          uu&   \        P                  ! V R,          V8¬  RR7      ^,
          pVR,          pVP                  RV4      R,          pVP                  RV4      R,          pVP                  RV4      R,          pWü,          pVP                  RV4      R,          pVP                  RV4      R,          pVR,          P                  RV4      R,          pVP                  RV4      R,          pVV,           ^V,          ,
          pV'       Eg   V V,
          V,          pV^V,
          ,          pVVVP                  ^4      ,          VV,          ,           ,          pVVV,          ,           pVVV,          ,           p VP                  ^4      VVP                  ^4      ,          ^V,          V,          ,           V^V,
          P                  ^4      ,          ,           ,          p!\        P                  ! V!4      ^\        P                  ! V4      ,          ,
          p"V V"3# V V,
          p#V#V,          p$VVV,
          ,          V$,           p%VV,          V$,
          p&V) V#,          p'V&P                  ^4      ^V%,          V',          ,
          p(\        \        P                   ! V(^ 8¬  4      RV( 24       ^V',          V&) \        P"                  ! V(4      ,
          ,          p)V)V,          V,           p V)^V),
          ,          pVVV,          ,           pVP                  ^4      VV)P                  ^4      ,          ^V,          V,          ,           V^V),
          P                  ^4      ,          ,           ,          p!\        P                  ! V!4      ^\        P                  ! V4      ,          ,
          p"V V") 3# )a¬  
This transformation represents a monotonically increasing piecewise rational quadratic function. Unlike the
function `_unconstrained_rational_quadratic_spline`, the function behaves the same across the `tail_bound`.

Args:
    inputs (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Second half of the hidden-states input to the Vits convolutional flow module.
    unnormalized_widths (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        First `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    unnormalized_heights (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        Second `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    unnormalized_derivatives (`torch.FloatTensor` of shape `(batch_size, channels, seq_len, duration_predictor_flow_bins)`):
        Third `duration_predictor_flow_bins` of the hidden-states from the output of the convolution projection
        layer in the convolutional flow module
    reverse (`bool`):
        Whether the model is being run in reverse mode.
    tail_bound (`float`):
        Upper and lower limit bound for the rational quadratic function. Outside of this `tail_bound`, the
        transform behaves as an identity function.
    min_bin_width (`float`):
        Minimum bin value across the width dimension for the piecewise rational quadratic function.
    min_bin_height (`float`):
        Minimum bin value across the height dimension for the piecewise rational quadratic function.
    min_derivative (`float`):
        Minimum bin value across the derivatives for the piecewise rational quadratic function.
Returns:
    outputs (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Hidden-states as transformed by the piecewise rational quadratic function.
    log_abs_det (`torch.FloatTensor` of shape `(batch_size, channels, seq_len)`:
        Logarithm of the absolute value of the determinants corresponding to the `outputs`.
zInputs are outside the range [z, Ú]ç      ð?zMinimal bin width z" too large for the number of bins zMinimal bin height ©Údimr_   rF   )rE   ÚmodeÚvalue.Ng�íµ ÷Æ°>z!Discriminant has negative values rT   )rP   rR   rQ   rS   ).ºrP   NN).N)r   ÚminÚmaxÚshapeÚ
ValueErrorr   rY   Úsoftmaxr   ÚcumsumrE   ÚsoftplusÚsumÚgatherÚpowrW   ÚallÚsqrt)*rG   rH   rI   rJ   rK   rL   rM   rN   rO   Úupper_boundÚlower_boundÚnum_binsÚwidthsÚ	cumwidthsÚderivativesÚheightsÚ
cumheightsÚbin_locationsÚbin_idxÚinput_cumwidthsÚinput_bin_widthsÚinput_cumheightsÚdeltaÚinput_deltaÚinput_derivativesÚinput_derivatives_plus_oneÚinput_heightsÚintermediate1ÚthetaÚtheta_one_minus_thetaÚ	numeratorÚdenominatorr]   Úderivative_numeratorr^   Úintermediate2Úintermediate3ÚaÚbÚcÚdiscriminantÚroots*   &&&&&&&&&                                 r#   rZ   rZ   §   s>  € ðX €KØ�+€KÜØ	�‰‹˜Ñ	$¨¯©«¸Ñ)DÕEØ
(¨¨°R¸°}ÀAÐFôð #×(Ñ(¨Õ,€HàÕ #Ô%ÜÐ-¨m¨_Ð<^Ð_gÐ^hÐiÓjÐjØÕ  3Ô&ÜÐ.¨~Ð.>Ð>`ÐaiÐ`jÐkÓlÐlä�]‰]×"Ñ"Ð#6¸BÐ"Ó?€FØ˜a -Õ":Õ:¸fÕDÕD€FÜ—’˜V¨Ô,€IÜ—‘×!Ñ! )°¸jÐPSÐ!ÓT€IØÕ*¨iÕ7¸+ÕE€IØ#ˆfÑØ$ˆgÑØ�wÕ )¨C°°"°¨HÕ"5Õ5€Fà ¤2§=¡=×#9Ñ#9Ð:RÓ#SÕS€Kä�m‰m×#Ñ#Ð$8¸bÐ#ÓA€GØ  NÕ$=Õ =ÀÕHÕH€GÜ—’˜g¨2Ô.€JÜ—‘×"Ñ" :°6À
ÐRUÐ"ÓV€JØÕ+¨zÕ9¸KÕG€JØ$€JˆvÑØ%€JˆwÑØ˜Õ! J¨s°C°R°C¨xÕ$8Õ8€Gç")‘J¨y€MØ�'×˜dÕ"ÓÜ�iŠi˜˜yÕ)¨]Ñ:ÀÔCÀaÕG€GØ�iÕ €Gà×&Ñ& r¨7Ó3°FÕ;€OØ—}‘} R¨Ó1°&Õ9Ðà!×(Ñ(¨¨WÓ5°fÕ=ÐØÕ€EØ—,‘,˜r 7Ó+¨FÕ3€Kà#×*Ñ*¨2¨wÓ7¸Õ?ÐØ!,¨WÕ!5×!<Ñ!<¸RÀÓ!IÈ&Õ!QÐà—N‘N 2 wÓ/°Õ7€Mà%Ð(BÕBÀQÈÅ_ÕT€Mßˆ7Ø˜/Õ)Ð-=Õ=ˆØ %¨¨U­Õ 3Ðà! [°5·9±9¸Q³<Õ%?ÐBSÐVkÕBkÕ%kÕlˆ	Ø! MÐ4IÕ$IÕIˆØ" Y°Õ%<Õ<ˆà*Ÿ™¨qÓ1Ø&¨¯©°1«Õ5Ø�+�oÐ 5Õ5õ6à 1 u¥9§/¡/°!Ó"4Õ4õ5õ 
Ðô
 —i’iÐ 4Ó5¸¼E¿IºIÀkÓ<RÕ8RÕRˆØ˜Ð#Ð#ð Ð!1Õ1ˆØ%¨Õ5ˆØ˜[Ð+<Õ<Õ=ÀÕMˆØÐ-Õ-°Õ=ˆØˆL˜=Õ(ˆà—u‘u˜Q“x ! a¥%¨!¥)Õ+ˆÜÜ�IŠI�l aÑ'Ó(Ø/°¨~Ð>ô	
ð
 �A•˜1˜"œuŸzšz¨,Ó7Õ7Õ8ˆØÐ)Õ)¨OÕ;ˆà $¨¨D­Õ 1ÐØ! MÐ4IÕ$IÕIˆØ*Ÿ™¨qÓ1Ø&¨¯©°!«Õ4Ø�+�oÐ 5Õ5õ6à 1 t¥8§.¡.°Ó"3Õ3õ4õ 
Ðô
 —i’iÐ 4Ó5¸¼E¿IºIÀkÓ<RÕ8RÕRˆØ˜˜Ð$Ð$r&   c                   óN   a a€ ] tR tRt oV3R lV 3R lltRR ltR tRtVtV ;t	# )ÚVitsWaveNeti1  c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   ÚconfigÚ
num_layers)r   Úint)r!   r"   s   "€r#   r$   ÚVitsWaveNet.__annotate__2  s   ø€ ÷ '8ñ '8™zð '8±sñ '8r&   c           	     ó&  <€ \         SV `  4        VP                  V n        W n        \        P
                  P                  4       V n        \        P
                  P                  4       V n        \
        P                  ! VP                  4      V n        \        \
        P                  P                  R 4      '       d&   \
        P                  P                  P                  pM\
        P                  P                  pVP                   ^ 8w  dS   \        P
                  P#                  VP                   ^VP                  ,          V,          ^4      pV! VRR7      V n        \'        V4       EF#  pVP(                  V,          pVP*                  V,          V,
          ^,          p\        P
                  P#                  VP                  ^VP                  ,          VP*                  VVR7      pV! VRR7      pV P                  P-                  V4       WR^,
          8  d   ^VP                  ,          p	MVP                  p	\        P
                  P#                  VP                  V	^4      p
V! V
RR7      p
V P                  P-                  V
4       EK&  	  R# )Úweight_normÚweight)Úname)Úin_channelsÚout_channelsÚkernel_sizeÚdilationÚpaddingN)ÚsuperÚ__init__Úhidden_sizer˜   r   r   Ú
ModuleListÚ	in_layersÚres_skip_layersÚDropoutÚwavenet_dropoutÚdropoutÚhasattrÚutilsÚparametrizationsrœ   Úspeaker_embedding_sizeÚConv1dÚ
cond_layerÚrangeÚwavenet_dilation_rateÚwavenet_kernel_sizeÚappend)Úselfr—   r˜   rœ   r²   Úir¢   r£   Úin_layerÚres_skip_channelsÚres_skip_layerÚ	__class__s   &&&        €r#   r¥   ÚVitsWaveNet.__init__2  sâ  ø€ Ü‰ÑÔØ!×-Ñ-ˆÔØ$ŒäŸ™×,Ñ,Ó.ˆŒÜ$Ÿx™x×2Ñ2Ó4ˆÔÜ—z’z &×"8Ñ"8Ó9ˆŒä”2—8‘8×,Ñ,¨m×<Ò<ÜŸ(™(×3Ñ3×?Ñ?‰KäŸ(™(×.Ñ.ˆKà×(Ñ(¨AÔ-ÜŸ™Ÿ™¨×)FÑ)FÈÈF×L^ÑL^ÕH^ÐakÕHkÐmnÓoˆJÙ)¨*¸8ÔDˆDŒOä�z×"ˆAØ×3Ñ3°QÕ6ˆHØ×1Ñ1°HÕ<¸xÕGÈAÕMˆGÜ—x‘x—‘Ø"×.Ñ.Ø ×!3Ñ!3Õ3Ø"×6Ñ6Ø!Øð 'ó ˆHñ # 8°(Ô;ˆHØ�N‰N×!Ñ! (Ô+ð  •>Ô!Ø$%¨×(:Ñ(:Õ$:Ñ!à$*×$6Ñ$6Ð!ä"ŸX™XŸ_™_¨V×-?Ñ-?ÐARÐTUÓVˆNÙ(¨¸hÔGˆNØ× Ñ ×'Ñ'¨×7ó+ #r&   c                ó  € \         P                  ! V4      p\         P                  ! V P                  .4      pVe   V P	                  V4      p\        V P                  4       EF  pV P                  V,          ! V4      pVeA   V^,          V P                  ,          pVRWˆ^V P                  ,          ,           1R3,          p	M\         P                  ! V4      p	\        WyV^ ,          4      p
V P                  V
4      p
V P                  V,          ! V
4      pW`P                  ^,
          8  dI   VRR V P                  1R3,          pW,           V,          pWKRV P                  R 1R3,          ,           pEK  WK,           pEK  	  WB,          # )Nr9   )r   rU   Ú	IntTensorr¦   r²   r³   r˜   r¨   rC   r¬   r©   )r·   rG   Úpadding_maskÚglobal_conditioningr]   Únum_channels_tensorr¸   r   Úcond_offsetÚglobal_statesrB   Úres_skip_actsÚres_actss   &&&&         r#   ÚforwardÚVitsWaveNet.forward[  sV  € Ü×"Ò" 6Ó*ˆÜ#Ÿošo¨t×/?Ñ/?Ð.@ÓAÐàÒ*Ø"&§/¡/Ð2EÓ"FÐä�t—‘×'ˆAØ ŸN™N¨1Ö-¨fÓ5ˆMà"Ò.Ø !�e d×&6Ñ&6Õ6�Ø 3°A°{ÐSTÐW[×WgÑWgÕSgÕEgÐ7gÐijÐ4jÕ k‘ä %× 0Ò 0°Ó ?�ä2°=ÐQdÐefÕQgÓhˆDØ—<‘< Ó%ˆDà ×0Ñ0°Ö3°DÓ9ˆMØ—?‘? QÕ&Ô&Ø(¨Ð,>¨d×.>Ñ.>Ð,>ÀÐ)AÕB�Ø Õ+¨|Õ;�Ø!°!°T×5EÑ5EÑ5GÈÐ2JÕ$KÕK“à!Õ1“ñ% (ð( Õ%Ð%r&   c                ó~  € V P                   ^ 8w  d4   \        P                  P                  P	                  V P
                  4       V P                   F,  p\        P                  P                  P	                  V4       K.  	  V P                   F,  p\        P                  P                  P	                  V4       K.  	  R# )rR   N)r°   r   r   r®   Úremove_weight_normr²   r¨   r©   ©r·   Úlayers   & r#   rÊ   ÚVitsWaveNet.remove_weight_normx  st   € Ø×&Ñ&¨!Ô+Ü�H‰H�N‰N×-Ñ-¨d¯o©oÔ>Ø—^”^ˆEÜ�H‰H�N‰N×-Ñ-¨eÖ4ñ $à×)Ô)ˆEÜ�H‰H�N‰N×-Ñ-¨eÖ4ó *r&   )r²   r¬   r¦   r¨   r˜   r©   ©N)
r(   r)   r*   r+   r¥   rÇ   rÊ   r.   r/   Ú__classcell__©r¼   r"   s   @@r#   r•   r•   1  s   ù‡ € ÷'8ó '8ôR&÷:5ò 5r&   r•   c                   óH   a a€ ] tR tRt oV3R lV 3R lltRR ltRtVtV ;t# )ÚVitsPosteriorEncoderi�  c                ó    <€ V ^8„  d   QhRS[ /# ©r   r—   r   )r!   r"   s   "€r#   r$   Ú!VitsPosteriorEncoder.__annotate__‚  s   ø€ ÷ Qñ Q™zñ Qr&   c                óN  <€ \         SV `  4        VP                  V n        \        P
                  ! VP                  VP                  ^4      V n        \        WP                  R7      V n        \        P
                  ! VP                  V P                  ^,          ^4      V n        R# )rP   ©r˜   N)r¤   r¥   Ú	flow_sizer    r   r±   Úspectrogram_binsr¦   Úconv_prer•   Ú$posterior_encoder_num_wavenet_layersÚwavenetÚ	conv_proj©r·   r—   r¼   s   &&€r#   r¥   ÚVitsPosteriorEncoder.__init__‚  ss   ø€ Ü‰ÑÔØ"×,Ñ,ˆÔäŸ	š	 &×"9Ñ"9¸6×;MÑ;MÈqÓQˆŒÜ" 6×6aÑ6aÔbˆŒÜŸš 6×#5Ñ#5°t×7HÑ7HÈ1Õ7LÈaÓPˆŽr&   c                óT  € V P                  V4      V,          pV P                  WV4      pV P                  V4      V,          p\        P                  ! W@P
                  ^R7      w  rVV\        P                  ! V4      \        P                  ! V4      ,          ,           V,          pWuV3# )rP   rd   )rÚ   rÜ   rÝ   r   Úsplitr    Ú
randn_likerX   )r·   rG   rÀ   rÁ   ÚstatsÚmeanÚ
log_stddevÚsampleds   &&&&    r#   rÇ   ÚVitsPosteriorEncoder.forwardŠ  s…   € Ø—‘˜vÓ&¨Õ5ˆØ—‘˜fÐ4GÓHˆØ—‘˜vÓ&¨Õ5ˆÜ Ÿ;š; u×.?Ñ.?ÀQÔGÑˆØœ%×*Ò*¨4Ó0´5·9²9¸ZÓ3HÕHÕHÈLÕXˆØ˜jÐ(Ð(r&   )rÚ   rÝ   r    rÜ   rÎ   ©	r(   r)   r*   r+   r¥   rÇ   r.   r/   rÏ   rÐ   s   @@r#   rÒ   rÒ   �  s   ù‡ € ÷Qó Q÷)ô )r&   rÒ   c                   óR   a a€ ] tR tRt oRV 3R lltR	R ltR tR tR tRt	Vt
V ;t# )
ÚHifiGanResidualBlocki”  c                óø  <€ \         SV `  4        W@n        \        P                  ! \        \        V4      4       Uu. uF;  p\        P                  ! VVV^W5,          V P                  W#V,          4      R7      NK=  	  up4      V n	        \        P                  ! \        \        V4      4       Uu. uF/  p\        P                  ! VVV^^V P                  V^4      R7      NK1  	  up4      V n
        R# u upi u upi )rP   )Ústrider¢   r£   N)r¤   r¥   Úleaky_relu_sloper   r§   r³   Úlenr±   Úget_paddingÚconvs1Úconvs2)r·   Úchannelsr¡   r¢   rí   r¸   Ú_r¼   s   &&&&&  €r#   r¥   ÚHifiGanResidualBlock.__init__•  sè   ø€ Ü‰ÑÔØ 0Ôä—m’mô œs 8›}Ô-ó
ñ .�Aô —	’	ØØØØØ%�[Ø ×,Ñ,¨[À1½+ÓF÷ñ .ñ
ó
ˆŒô —m’mô œs 8›}Ô-ó
ñ .�Aô —	’	ØØØØØØ ×,Ñ,¨[¸!Ó<÷ñ .ñ
ó
ˆŽùò
ùò
s   ¼AC2Â/5C7c                ó.   € W,          V,
          ^,          # )r   r'   )r·   r¡   r¢   s   &&&r#   rï   Ú HifiGanResidualBlock.get_padding´  s   € ØÕ&¨Õ1°aÕ7Ð7r&   c                óB  € \         P                  P                  p\        \         P                  P                  R 4      '       d%   \         P                  P                  P                  pV P
                   F  pV! V4       K  	  V P                   F  pV! V4       K  	  R# ©rœ   N)r   r®   rœ   r­   r¯   rð   rñ   ©r·   rœ   rÌ   s   &  r#   Úapply_weight_normÚ&HifiGanResidualBlock.apply_weight_norm·  si   € Ü—h‘h×*Ñ*ˆÜ”2—8‘8×,Ñ,¨m×<Ò<ÜŸ(™(×3Ñ3×?Ñ?ˆKà—[”[ˆEÙ˜Öñ !à—[”[ˆEÙ˜Öó !r&   c                óÎ   € V P                    F"  p\        P                  P                  V4       K$  	  V P                   F"  p\        P                  P                  V4       K$  	  R # rÎ   )rð   r   r®   rÊ   rñ   rË   s   & r#   rÊ   Ú'HifiGanResidualBlock.remove_weight_normÁ  sB   € Ø—[”[ˆEÜ�H‰H×'Ñ'¨Ö.ñ !à—[”[ˆEÜ�H‰H×'Ñ'¨Ö.ó !r&   c                ó0  € \        V P                  V P                  4       Fq  w  r#Tp\        P                  P                  WP                  4      pV! V4      p\        P                  P                  WP                  4      pV! V4      pW,           pKs  	  V# rÎ   )Úziprð   rñ   r   rY   Ú
leaky_relurí   )r·   r   Úconv1Úconv2Úresiduals   &&   r#   rÇ   ÚHifiGanResidualBlock.forwardÇ  sz   € Ü §¡¨T¯[©[Ö9‰LˆEØ$ˆHÜŸM™M×4Ñ4°]×DYÑDYÓZˆMÙ! -Ó0ˆMÜŸM™M×4Ñ4°]×DYÑDYÓZˆMÙ! -Ó0ˆMØ)Õ4ŠMñ :ð Ðr&   )rð   rñ   rí   )é   )rP   r  é   gš™™™™™¹?©rP   )r(   r)   r*   r+   r¥   rï   rú   rÊ   rÇ   r.   r/   rÏ   rÐ   s   @@r#   rê   rê   ”  s#   ù‡ € ÷
ô>8òò/÷ò r&   rê   c                   ó`   a a€ ] tR tRt oV3R lV 3R lltR tR tR	V3R lR lltRtVt	V ;t
# )
ÚVitsHifiGaniÒ  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsHifiGan.__annotate__Ó  s   ø€ ÷ "eñ "e™zñ "er&   c                óÈ  <€ \         SV `  4        Wn        \        VP                  4      V n        \        VP                  4      V n        \        P                  ! VP                  VP                  ^^^R7      V n        \        P                  ! 4       V n        \        \!        VP                  VP"                  4      4       F€  w  pw  r4V P                  P%                  \        P&                  ! VP                  ^V,          ,          VP                  ^V^,           ,          ,          VVWC,
          ^,          R7      4       K‚  	  \        P                  ! 4       V n        \+        \        V P                  4      4       F|  pVP                  ^V^,           ,          ,          p\!        VP                  VP,                  4       F4  w  rFV P(                  P%                  \/        WTWaP0                  4      4       K6  	  K~  	  \        P                  ! X^^^^RR7      V n        VP4                  ^ 8w  d4   \        P                  ! VP4                  VP                  ^4      V n        R# R# )é   )r¡   rì   r£   F)r¡   rì   r£   ÚbiasN)r¤   r¥   r—   rî   Úresblock_kernel_sizesÚnum_kernelsÚupsample_ratesÚnum_upsamplesr   r±   rØ   Úupsample_initial_channelrÚ   r§   Ú	upsamplerÚ	enumeraterÿ   Úupsample_kernel_sizesr¶   ÚConvTranspose1dÚ	resblocksr³   Úresblock_dilation_sizesrê   rí   Ú	conv_postr°   Úcond)r·   r—   r¸   Úupsample_rater¡   rò   r¢   r¼   s   &&     €r#   r¥   ÚVitsHifiGan.__init__Ó  sË  ø€ Ü‰ÑÔØŒÜ˜v×;Ñ;Ó<ˆÔÜ  ×!6Ñ!6Ó7ˆÔÜŸ	š	Ø×ÑØ×+Ñ+ØØØô
ˆŒô Ÿš›ˆŒÜ/8¼¸V×=RÑ=RÐTZ×TpÑTpÓ9qÖ/rÑ+ˆAÑ+�Ø�N‰N×!Ñ!Ü×"Ò"Ø×3Ñ3¸¸1½Õ=Ø×3Ñ3¸¸aÀ!½e½ÕEØ +Ø(Ø(Õ8¸QÕ>ôöñ 0sô Ÿš›ˆŒÜ”s˜4Ÿ>™>Ó*Ö+ˆAØ×6Ñ6¸1ÀÀQÅ½<ÕHˆHÜ),¨V×-IÑ-IÈ6×KiÑKiÖ)jÑ%�Ø—‘×%Ñ%Ô&:¸8ÐRZ×\sÑ\sÓ&tÖuó *kñ ,ô
 Ÿš 8¨Q¸AÀaÐQRÐY^Ô_ˆŒà×(Ñ(¨AÔ-ÜŸ	š	 &×"?Ñ"?À×A`ÑA`ÐbcÓdˆDŽIñ .r&   c                óR  € \         P                  P                  p\        \         P                  P                  R 4      '       d%   \         P                  P                  P                  pV P
                   F  pV! V4       K  	  V P                   F  pVP                  4        K  	  R# rø   )r   r®   rœ   r­   r¯   r  r  rú   rù   s   &  r#   rú   ÚVitsHifiGan.apply_weight_norm÷  sm   € Ü—h‘h×*Ñ*ˆÜ”2—8‘8×,Ñ,¨m×<Ò<ÜŸ(™(×3Ñ3×?Ñ?ˆKà—^”^ˆEÙ˜Öñ $à—^”^ˆEØ×#Ñ#Ö%ó $r&   c                ó°   € V P                    F"  p\        P                  P                  V4       K$  	  V P                   F  pVP                  4        K  	  R # rÎ   )r  r   r®   rÊ   r  rË   s   & r#   rÊ   ÚVitsHifiGan.remove_weight_norm  s<   € Ø—^”^ˆEÜ�H‰H×'Ñ'¨Ö.ñ $à—^”^ˆEØ×$Ñ$Ö&ó $r&   c                óv   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  /# )r   r   rÁ   NÚreturn)r   r   )r!   r"   s   "€r#   r$   r    s=   ø€ ÷  ñ  Ù ×,Ñ,ð ÙCH×CTÑCTÐW[ÕC[ð á	×	Ñ	ñ r&   c                óÖ  € V P                  V4      pVe   W0P                  V4      ,           p\        V P                  4       FÝ  p\        P
                  P                  W0P                  P                  4      pV P                  V,          ! V4      pV P                  W@P                  ,          ,          ! V4      p\        ^V P                  4       F9  pWPP                  W@P                  ,          V,           ,          ! V4      ,          pK;  	  WPP                  ,          pKß  	  \        P
                  P                  V4      pV P                  V4      p\        P                  ! V4      pV# )aÿ  
Converts a spectrogram into a speech waveform.

Args:
    spectrogram (`torch.FloatTensor` of shape `(batch_size, config.spectrogram_bins, sequence_length)`):
        Tensor containing the spectrograms.
    global_conditioning (`torch.FloatTensor` of shape `(batch_size, config.speaker_embedding_size, 1)`, *optional*):
        Tensor containing speaker embeddings, for multispeaker models.

Returns:
    `torch.FloatTensor`: Tensor of shape shape `(batch_size, 1, num_frames)` containing the speech waveform.
)rÚ   r  r³   r  r   rY   r   r—   rí   r  r  r  r  r   r:   )r·   r   rÁ   r   r¸   Ú	res_stateÚjr   s   &&&     r#   rÇ   ÚVitsHifiGan.forward  s  € ð Ÿ™ kÓ2ˆàÒ*Ø)¯I©IÐ6IÓ,JÕJˆMä�t×)Ñ)Ö*ˆAÜŸM™M×4Ñ4°]ÇKÁK×D`ÑD`ÓaˆMØ ŸN™N¨1Ö-¨mÓ<ˆMàŸ™ q×+;Ñ+;Õ';Ö<¸]ÓKˆIÜ˜1˜d×.Ñ.Ö/�ØŸ^™^¨A×0@Ñ0@Õ,@À1Õ,DÖEÀmÓTÕT’	ñ 0à%×(8Ñ(8Õ8ŠMñ +ô Ÿ™×0Ñ0°Ó?ˆØŸ™ }Ó5ˆÜ—:’:˜mÓ,ˆØˆr&   )r  r—   r  rÚ   r  r  r  r  rÎ   )r(   r)   r*   r+   r¥   rú   rÊ   rÇ   r.   r/   rÏ   rÐ   s   @@r#   r	  r	  Ò  s+   ù‡ € ÷"eó "eòH&ò'÷ ÷  ò  r&   r	  c                   óH   a a€ ] tR tRt oV3R lV 3R lltRR ltRtVtV ;t# )ÚVitsResidualCouplingLayeri*  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   Ú&VitsResidualCouplingLayer.__annotate__+  s   ø€ ÷ Nñ N™zñ Nr&   c                óN  <€ \         SV `  4        VP                  ^,          V n        \        P
                  ! V P                  VP                  ^4      V n        \        WP                  R7      V n
        \        P
                  ! VP                  V P                  ^4      V n        R# )r   r×   N)r¤   r¥   rØ   Úhalf_channelsr   r±   r¦   rÚ   r•   Ú prior_encoder_num_wavenet_layersrÜ   r  rÞ   s   &&€r#   r¥   Ú"VitsResidualCouplingLayer.__init__+  ss   ø€ Ü‰ÑÔØ#×-Ñ-°Õ2ˆÔäŸ	š	 $×"4Ñ"4°f×6HÑ6HÈ!ÓLˆŒÜ" 6×6]Ñ6]Ô^ˆŒÜŸš 6×#5Ñ#5°t×7IÑ7IÈ1ÓMˆŽr&   c                óh  € \         P                  ! WP                  .^,          ^R7      w  rVV P                  V4      V,          pV P	                  WrV4      pV P                  V4      V,          p\         P                  ! V4      p	V'       g`   W†\         P                  ! V	4      ,          V,          ,           p\         P                  ! WV.^R7      p
\         P                  ! V	^^.4      pW«3# Wh,
          \         P                  ! V	) 4      ,          V,          p\         P                  ! WV.^R7      p
V
R3# )r   rd   N)
r   rá   r-  rÚ   rÜ   r  rU   rX   Úcatrp   )r·   rG   rÀ   rÁ   rK   Ú
first_halfÚsecond_halfr   rä   rå   r]   Úlog_determinants   &&&&&       r#   rÇ   Ú!VitsResidualCouplingLayer.forward3  só   € Ü"'§+¢+¨f×7IÑ7IÐ6JÈQÕ6NÐTUÔ"VÑˆ
ØŸ™ jÓ1°LÕ@ˆØŸ™ ]ÐBUÓVˆØ�~‰~˜mÓ,¨|Õ;ˆÜ×%Ò% dÓ+ˆ
çØ¬u¯yªy¸Ó/DÕ!DÀ|Õ!SÕSˆKÜ—i’i Ð 9¸qÔAˆGÜ#Ÿiši¨
°Q¸°FÓ;ˆOØÐ+Ð+à&Õ-´·²¸J¸;Ó1GÕGÈ,ÕVˆKÜ—i’i Ð 9¸qÔAˆGØ˜D�=Ð r&   )r  rÚ   r-  rÜ   ©NFrè   rÐ   s   @@r#   r)  r)  *  s   ù‡ € ÷Nó N÷!ô !r&   r)  c                   óH   a a€ ] tR tRt oV3R lV 3R lltRR ltRtVtV ;t# )ÚVitsResidualCouplingBlockiE  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   Ú&VitsResidualCouplingBlock.__annotate__F  s   ø€ ÷ Añ A™zñ Ar&   c                óØ   <€ \         SV `  4        \        P                  ! 4       V n        \        VP                  4       F'  pV P                  P                  \        V4      4       K)  	  R # rÎ   )	r¤   r¥   r   r§   Úflowsr³   Úprior_encoder_num_flowsr¶   r)  ©r·   r—   ró   r¼   s   && €r#   r¥   Ú"VitsResidualCouplingBlock.__init__F  sH   ø€ Ü‰ÑÔÜ—]’]“_ˆŒ
Ü�v×5Ñ5Ö6ˆAØ�J‰J×ÑÔ7¸Ó?Ö@ó 7r&   c                ó  € V'       g9   V P                    F&  pV! WV4      w  r\        P                  ! V^.4      pK(  	  V# \        V P                   4       F(  p\        P                  ! V^.4      pV! WVRR7      w  rK*  	  V# )rP   T©rK   )r<  r   ÚflipÚreversed)r·   rG   rÀ   rÁ   rK   Úflowró   s   &&&&&  r#   rÇ   Ú!VitsResidualCouplingBlock.forwardL  s}   € ßØŸ
œ
�Ù  Ð7JÓK‘	�ÜŸš F¨Q¨CÓ0’ñ #ð ˆô ! §¡Ö,�ÜŸš F¨Q¨CÓ0�Ù  Ð7JÐTXÔY‘	�™ñ -ð ˆr&   )r<  r6  rè   rÐ   s   @@r#   r8  r8  E  s   ù‡ € ÷Aó A÷	ô 	r&   r8  c                   óL   a a€ ] tR tRt oRV3R lV 3R llltRR ltRtVtV ;t# )ÚVitsDilatedDepthSeparableConviX  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   Ú*VitsDilatedDepthSeparableConv.__annotate__Y  s   ø€ ÷ 8ñ 8™zñ 8r&   c                óv  <€ \         SV `  4        VP                  pVP                  pVP                  V n        \        P                  ! V4      V n        \        P                  ! 4       V n
        \        P                  ! 4       V n        \        P                  ! 4       V n        \        P                  ! 4       V n        \        V P
                  4       Fä  pW5,          pW6,          V,
          ^,          pV P                  P                  \        P                   ! VVVVVVR7      4       V P                  P                  \        P                   ! WD^4      4       V P                  P                  \        P"                  ! V4      4       V P                  P                  \        P"                  ! V4      4       Kæ  	  R# )r   )rŸ   r    r¡   Úgroupsr¢   r£   N)r¤   r¥   Úduration_predictor_kernel_sizer¦   Údepth_separable_num_layersr˜   r   rª   r¬   r§   Úconvs_dilatedÚconvs_pointwiseÚnorms_1Únorms_2r³   r¶   r±   Ú	LayerNorm)	r·   r—   Údropout_rater¡   rò   r¸   r¢   r£   r¼   s	   &&&     €r#   r¥   Ú&VitsDilatedDepthSeparableConv.__init__Y  s,  ø€ Ü‰ÑÔØ×;Ñ;ˆØ×%Ñ%ˆØ ×;Ñ;ˆŒä—z’z ,Ó/ˆŒÜŸ]š]›_ˆÔÜ!Ÿ}š}›ˆÔÜ—}’}“ˆŒÜ—}’}“ˆŒÜ�t—‘Ö'ˆAØ"•~ˆHØ"Õ-°Õ8¸QÕ>ˆGØ×Ñ×%Ñ%Ü—	’	Ø (Ø!)Ø +Ø#Ø%Ø#ôô	ð × Ñ ×'Ñ'¬¯	ª	°(ÀaÓ(HÔIØ�L‰L×Ñ¤§¢¨XÓ 6Ô7Ø�L‰L×Ñ¤§¢¨XÓ 6Ö7ó (r&   c                óh  € Ve	   W,           p\        V P                  4       EF  pV P                  V,          ! W,          4      pV P                  V,          ! VP	                  ^R4      4      P	                  ^R4      p\
        P                  P                  V4      pV P                  V,          ! V4      pV P                  V,          ! VP	                  ^R4      4      P	                  ^R4      p\
        P                  P                  V4      pV P                  V4      pW,           pEK  	  W,          # ©NrT   )r³   r˜   rN  rP  Ú	transposer   rY   ÚgelurO  rQ  r¬   )r·   rG   rÀ   rÁ   r¸   r   s   &&&&  r#   rÇ   Ú%VitsDilatedDepthSeparableConv.forwardu  sõ   € ØÒ*ØÕ1ˆFä�t—‘×'ˆAØ ×.Ñ.¨qÖ1°&Õ2GÓHˆMØ ŸL™L¨žO¨M×,CÑ,CÀAÀrÓ,JÓK×UÑUÐVWÐY[Ó\ˆMÜŸM™M×.Ñ.¨}Ó=ˆMØ ×0Ñ0°Ö3°MÓBˆMØ ŸL™L¨žO¨M×,CÑ,CÀAÀrÓ,JÓK×UÑUÐVWÐY[Ó\ˆMÜŸM™M×.Ñ.¨}Ó=ˆMØ ŸL™L¨Ó7ˆMØÕ+‹Fñ (ð Õ$Ð$r&   )rN  rO  r¬   rP  rQ  r˜   )rF   rÎ   rè   rÐ   s   @@r#   rG  rG  X  s   ù‡ € ÷8õ 8÷8%ô %r&   rG  c                   óH   a a€ ] tR tRt oV3R lV 3R lltRR ltRtVtV ;t# )ÚVitsConvFlowi†  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsConvFlow.__annotate__‡  s   ø€ ÷ 	jñ 	j™zñ 	jr&   c                óÜ  <€ \         SV `  4        VP                  V n        VP                  ^,          V n        VP                  V n        VP                  V n	        \        P                  ! V P
                  V P                  ^4      V n        \        V4      V n        \        P                  ! V P                  V P
                  V P                  ^,          ^,
          ,          ^4      V n        R# )r   N)r¤   r¥   r¦   Úfilter_channelsÚdepth_separable_channelsr-  Úduration_predictor_flow_binsrw   Úduration_predictor_tail_boundrL   r   r±   rÚ   rG  Úconv_ddsrÝ   rÞ   s   &&€r#   r¥   ÚVitsConvFlow.__init__‡  s«   ø€ Ü‰ÑÔØ%×1Ñ1ˆÔØ#×<Ñ<ÀÕAˆÔØ×;Ñ;ˆŒØ ×>Ñ>ˆŒäŸ	š	 $×"4Ñ"4°d×6JÑ6JÈAÓNˆŒÜ5°fÓ=ˆŒÜŸš 4×#7Ñ#7¸×9KÑ9KÈtÏ}É}Ð_`ÕO`ÐcdÕOdÕ9eÐghÓiˆŽr&   c           	     ó^  € \         P                  ! WP                  .^,          ^R7      w  rVV P                  V4      pV P	                  WrV4      pV P                  V4      V,          pVP                  w  r‰p
VP                  W‰RV
4      P                  ^ ^^^4      pVRRV P                  13,          \        P                  ! V P                  4      ,          pVRV P                  ^V P                  ,          13,          \        P                  ! V P                  4      ,          pVR^V P                  ,          R13,          p\        VVVVVV P                  R7      w  rn\         P                  ! WV.^R7      V,          pV'       g$   \         P                   ! Wâ,          ^^.4      pVV3# VR3# )r   rd   .N)rK   rL   rT   )r   rá   r-  rÚ   rc  rÝ   rk   ÚreshapeÚpermuterw   Úmathrt   r_  r`   rL   r1  rp   )r·   rG   rÀ   rÁ   rK   r2  r3  r   Ú
batch_sizerò   ÚlengthrH   rI   rJ   r^   r]   r4  s   &&&&&            r#   rÇ   ÚVitsConvFlow.forward’  s}  € Ü"'§+¢+¨f×7IÑ7IÐ6JÈQÕ6NÐTUÔ"VÑˆ
àŸ™ jÓ1ˆØŸ™ mÐCVÓWˆØŸ™ }Ó5¸ÕDˆà'1×'7Ñ'7Ñ$ˆ
˜fØ%×-Ñ-¨jÀBÈÓO×WÑWÐXYÐ[\Ð^_ÐabÓcˆà+¨C°°4·=±=°Ð,@ÕAÄDÇIÂIÈd×NbÑNbÓDcÕcÐØ,¨S°$·-±-À!ÀdÇmÁmÕBSÐ2SÐ-SÕTÔW[×W`ÒW`Ðae×auÑauÓWvÕvÐØ#0°°a¸$¿-¹-Õ6GÑ6IÐ1IÕ#JÐ ä#KØØØ Ø$ØØ—‘ô$
Ñ ˆô —)’)˜ZÐ5¸1Ô=ÀÕLˆßÜ#Ÿiši¨Õ(BÀQÈÀFÓKˆOØ˜OÐ+Ð+à˜D�=Ð r&   )rc  rÚ   rÝ   r_  r-  rw   rL   r6  rè   rÐ   s   @@r#   r[  r[  †  s   ù‡ € ÷	jó 	j÷!ô !r&   r[  c                   óH   a a€ ] tR tRt oV3R lV 3R lltRR ltRtVtV ;t# )ÚVitsElementwiseAffinei±  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   Ú"VitsElementwiseAffine.__annotate__²  s   ø€ ÷ Eñ E™zñ Er&   c                ó.  <€ \         SV `  4        VP                  V n        \        P
                  ! \        P                  ! V P                  ^4      4      V n        \        P
                  ! \        P                  ! V P                  ^4      4      V n	        R# ©rP   N)
r¤   r¥   r`  rò   r   Ú	Parameterr   ÚzerosÚ	translateÚ	log_scalerÞ   s   &&€r#   r¥   ÚVitsElementwiseAffine.__init__²  sY   ø€ Ü‰ÑÔØ×7Ñ7ˆŒÜŸš¤e§k¢k°$·-±-ÀÓ&CÓDˆŒÜŸš¤e§k¢k°$·-±-ÀÓ&CÓDˆŽr&   c                ór  € V'       gn   V P                   \        P                  ! V P                  4      V,          ,           pWR,          p\        P                  ! V P                  V,          ^^.4      pWV3# WP                   ,
          \        P                  ! V P                  ) 4      ,          V,          pVR3# rq  )rt  r   rX   ru  rp   )r·   rG   rÀ   rÁ   rK   r]   r4  s   &&&&&  r#   rÇ   ÚVitsElementwiseAffine.forward¸  s‚   € ßØ—n‘n¤u§y¢y°·±Ó'@À6Õ'IÕIˆGØÕ,ˆGÜ#Ÿiši¨¯©¸Õ(EÈÈ1ÀvÓNˆOØÐ+Ð+à§¡Õ.´%·)²)¸T¿^¹^¸OÓ2LÕLÈ|Õ[ˆGØ˜D�=Ð r&   )rò   ru  rt  r6  rè   rÐ   s   @@r#   rm  rm  ±  s   ù‡ € ÷Eó E÷!ô !r&   rm  c                   ó<   a a€ ] tR tRt oV 3R ltRR ltRtVtV ;t# )ÚVitsStochasticDurationPredictoriÃ  c                óä  <€ \         SV `  4        VP                  pVP                  p\        P
                  ! W3^4      V n        \        P
                  ! W3^4      V n        \        VVP                  R7      V n
        V^ 8w  d   \        P
                  ! W#^4      V n        \        P                  ! 4       V n        V P                  P                  \        V4      4       \!        VP"                  4       F'  pV P                  P                  \%        V4      4       K)  	  \        P
                  ! ^V^4      V n        \        P
                  ! W3^4      V n        \        VVP                  R7      V n        \        P                  ! 4       V n        V P,                  P                  \        V4      4       \!        VP"                  4       F'  pV P,                  P                  \%        V4      4       K)  	  R# )rP   )rS  N)r¤   r¥   r°   r¦   r   r±   rÚ   rÝ   rG  Úduration_predictor_dropoutrc  r  r§   r<  r¶   rm  r³   Úduration_predictor_num_flowsr[  Úpost_conv_preÚpost_conv_projÚpost_conv_ddsÚ
post_flows)r·   r—   Ú	embed_dimr_  ró   r¼   s   &&   €r#   r¥   Ú(VitsStochasticDurationPredictor.__init__Ä  sb  ø€ Ü‰ÑÔØ×1Ñ1ˆ	Ø ×,Ñ,ˆäŸ	š	 /ÀAÓFˆŒÜŸš ?ÀQÓGˆŒÜ5ØØ×:Ñ:ô
ˆŒð
 ˜Œ>ÜŸ	š	 )¸aÓ@ˆDŒIä—]’]“_ˆŒ
Ø�
‰
×ÑÔ/°Ó7Ô8Ü�v×:Ñ:Ö;ˆAØ�J‰J×Ñœl¨6Ó2Ö3ñ <ô  ŸYšY q¨/¸1Ó=ˆÔÜ Ÿiši¨È!ÓLˆÔÜ:ØØ×:Ñ:ô
ˆÔô
 Ÿ-š-›/ˆŒØ�‰×ÑÔ4°VÓ<Ô=Ü�v×:Ñ:Ö;ˆAØ�O‰O×"Ñ"¤<°Ó#7Ö8ó <r&   c                óì  € \         P                  ! V4      pV P                  V4      pVe.   \         P                  ! V4      pWP                  V4      ,           pV P	                  W4      pV P                  V4      V,          pV'       Eg	   V P                  V4      pV P                  Wr4      pV P                  V4      V,          p\         P                  ! VP                  ^ 4      ^VP                  ^4      4      P                  VP                  VP                  R7      V,          p^ p	Tp
V P                   F5  pV! W¢W,           R7      w  r¬\         P                  ! V
^.4      p
Wœ,          p	K7  	  \         P                   ! V
^^.^R7      w  rÞV	\         P"                  ! \$        P&                  P)                  V4      \$        P&                  P)                  V) 4      ,           V,          ^^.4      ,          p	\         P"                  ! R\*        P,                  ! ^\*        P.                  ,          4      V^,          ,           ,          V,          ^^.4      V	,
          pV\         P0                  ! V4      ,
          V,          p\         P,                  ! \         P2                  ! VR4      4      V,          p\         P"                  ! V) ^^.4      p\         P4                  ! WÞ.^R7      pV P6                   F1  pV! VW!R7      w  pp\         P                  ! V^.4      pVV,          pK3  	  \         P"                  ! R\*        P,                  ! ^\*        P.                  ,          4      V^,          ,           ,          V,          ^^.4      V,
          pVV,           # \9        \;        V P6                  4      4      pVR R	 VR
,          .,           p\         P                  ! VP                  ^ 4      ^VP                  ^4      4      P                  VP                  VP                  R7      V,          pV F)  p\         P                  ! V^.4      pV! VW!RR7      w  ppK+  	  \         P                   ! V^^.^R7      w  ppV# )N)ÚdeviceÚdtype)rÁ   rd   ç      à?gñhãˆµøä>T)rÁ   rK   ç      à¿éþÿÿÿrT   )r   ÚdetachrÚ   r  rc  rÝ   r~  r€  r  ÚrandnÚsizeÚtor…  r†  r�  rB  rá   rp   r   rY   Ú
logsigmoidrh  rW   Úpir;   Ú	clamp_minr1  r<  ÚlistrC  )r·   rG   rÀ   rÁ   Ú	durationsrK   Únoise_scaler   Úrandom_posteriorÚlog_determinant_posterior_sumÚlatents_posteriorrD  r4  r2  r3  ÚlogqÚlog_determinant_sumÚlatentsÚnllr<  ró   Úlog_durations   &&&&&&&               r#   rÇ   Ú'VitsStochasticDurationPredictor.forwardä  s¦  € Ü—’˜fÓ%ˆØ—‘˜vÓ&ˆàÒ*Ü"'§,¢,Ð/BÓ"CÐØŸi™iÐ(;Ó<Õ<ˆFà—‘˜vÓ4ˆØ—‘ Ó'¨,Õ6ˆçˆwØ ×.Ñ.¨yÓ9ˆMØ ×.Ñ.¨}ÓKˆMØ ×/Ñ/°Ó>ÀÕMˆMô —’˜IŸN™N¨1Ó-¨q°)·.±.ÀÓ2CÓD×GÑGÈvÏ}É}Ðdj×dpÑdpÐGÓqØõð ð -.Ð)Ø 0ÐØŸœ�Ù59Ø%ÈÕI_ô6Ñ2Ð!ô %*§J¢JÐ/@À1À#Ó$FÐ!Ø-Õ@Ò-ñ (ô ',§k¢kÐ2CÀaÈÀVÐQRÔ&SÑ#ˆJà)¬U¯YªYÜ—‘×)Ñ)¨*Ó5¼¿¹×8PÑ8PÐR\ÐQ\Ó8]Õ]ÐamÕmÐpqÐstÐouó.õ Ð)ô —	’	˜$¤$§(¢(¨1¬t¯w©w­;Ó"7Ð;KÈQÕ;NÕ"OÕPÐS_Õ_ÐbcÐefÐagÓhØ/õ0ð ð
 $¤e§m¢m°JÓ&?Õ?À<ÕOˆJÜŸš¤5§?¢?°:¸tÓ#DÓEÈÕTˆJÜ"'§)¢)¨Z¨K¸!¸Q¸Ó"@Ðä—i’i Ð 9¸qÔAˆGØŸ
œ
�Ù+/°¸Ô+bÑ(�˜ÜŸ*š* W¨q¨cÓ2�Ø# Õ6Ò#ñ #ô
 —)’)˜C¤4§8¢8¨A´·±­KÓ#8¸GÀQ½JÕ#GÕHÈ<ÕWÐZ[Ð]^ÐY_Ó`ÐcvÕvˆCØ˜•:Ðäœ $§*¡*Ó-Ó.ˆEØ˜#˜2�J %¨¥) Õ,ˆEô —’˜FŸK™K¨›N¨A¨v¯{©{¸1«~Ó>×AÑAÈÏÉÐ^d×^jÑ^jÐAÓkØõð ó �ÜŸ*š* W¨q¨cÓ2�Ù! '¨<Ð]aÔb‘
�šñ ô $Ÿkšk¨'°A°q°6¸qÔA‰OˆL˜!ØÐr&   )	r  rc  rÚ   rÝ   r<  r€  r~  r  r�  )NNFrc   rè   rÐ   s   @@r#   rz  rz  Ã  s   ù‡ € õ9÷@@ ô @ r&   rz  c                   ó<   a a€ ] tR tRt oV 3R ltRR ltRtVtV ;t# )ÚVitsDurationPredictori'  c                óž  <€ \         SV `  4        VP                  pVP                  p\        P
                  ! VP                  4      V n        \        P                  ! VP                  W2V^,          R7      V n
        \        P                  ! W1P                  R7      V n        \        P                  ! W3W"^,          R7      V n        \        P                  ! W1P                  R7      V n        \        P                  ! V^^4      V n        VP"                  ^ 8w  d4   \        P                  ! VP"                  VP                  ^4      V n        R# R# )r   )r£   ©ÚepsN)r¤   r¥   rL  Ú"duration_predictor_filter_channelsr   rª   r|  r¬   r±   r¦   Úconv_1rR  Úlayer_norm_epsÚnorm_1Úconv_2Únorm_2Úprojr°   r  )r·   r—   r¡   r_  r¼   s   &&  €r#   r¥   ÚVitsDurationPredictor.__init__(  sç   ø€ Ü‰ÑÔØ×;Ñ;ˆØ ×CÑCˆä—z’z &×"CÑ"CÓDˆŒÜ—i’i × 2Ñ 2°OÐZeÐijÕZjÔkˆŒÜ—l’l ?×8MÑ8MÔNˆŒÜ—i’i À+ÐfgÕWgÔhˆŒÜ—l’l ?×8MÑ8MÔNˆŒÜ—I’I˜o¨q°!Ó4ˆŒ	à×(Ñ(¨AÔ-ÜŸ	š	 &×"?Ñ"?À×ASÑASÐUVÓWˆDŽIñ .r&   c                óŠ  € \         P                  ! V4      pVe.   \         P                  ! V4      pWP                  V4      ,           pV P                  W,          4      p\         P                  ! V4      pV P                  VP                  ^R4      4      P                  ^R4      pV P                  V4      pV P                  W,          4      p\         P                  ! V4      pV P                  VP                  ^R4      4      P                  ^R4      pV P                  V4      pV P                  W,          4      pW,          # rV  )r   rŠ  r  r£  Úrelur¥  rW  r¬   r¦  r§  r¨  )r·   rG   rÀ   rÁ   s   &&&&r#   rÇ   ÚVitsDurationPredictor.forward7  sü   € Ü—’˜fÓ%ˆàÒ*Ü"'§,¢,Ð/BÓ"CÐØŸi™iÐ(;Ó<Õ<ˆFà—‘˜VÕ2Ó3ˆÜ—’˜FÓ#ˆØ—‘˜V×-Ñ-¨a°Ó4Ó5×?Ñ?ÀÀ2ÓFˆØ—‘˜fÓ%ˆà—‘˜VÕ2Ó3ˆÜ—’˜FÓ#ˆØ—‘˜V×-Ñ-¨a°Ó4Ó5×?Ñ?ÀÀ2ÓFˆØ—‘˜fÓ%ˆà—‘˜6Õ0Ó1ˆØÕ$Ð$r&   )r  r£  r¦  r¬   r¥  r§  r¨  rÎ   rè   rÐ   s   @@r#   rž  rž  '  s   ù‡ € õX÷%ô %r&   rž  c                   ó|   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRV3R lR lltR	 tR
 t	R t
RtVtV ;t# )ÚVitsAttentioniL  z?Multi-headed attention with relative positional representation.c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsAttention.__annotate__O  s   ø€ ÷ rñ r™zñ rr&   c                ó\  <€ \         SV `  4        VP                  V n        VP                  V n        VP                  V n        VP                  V n        V P                  V P
                  ,          V n	        V P                  R,          V n
        V P                  V P
                  ,          V P                  8w  d'   \        RV P                   RV P
                   R24      h\        P                  ! V P                  V P                  VP                  R7      V n        \        P                  ! V P                  V P                  VP                  R7      V n        \        P                  ! V P                  V P                  VP                  R7      V n        \        P                  ! V P                  V P                  VP                  R7      V n        V P                  '       dË   \        P&                  ! \(        P*                  ! ^V P                  ^,          ^,           V P                  4      V P                  ,          4      V n        \        P&                  ! \(        P*                  ! ^V P                  ^,          ^,           V P                  4      V P                  ,          4      V n        R# R# )r‡  zIhidden_size must be divisible by num_attention_heads (got `hidden_size`: z and `num_attention_heads`: z).)r  Nrˆ  )r¤   r¥   r¦   r‚  Únum_attention_headsÚ	num_headsÚattention_dropoutr¬   Úwindow_sizeÚhead_dimÚscalingrl   r   ÚLinearÚuse_biasÚk_projÚv_projÚq_projÚout_projrr  r   r‹  Ú	emb_rel_kÚ	emb_rel_vrÞ   s   &&€r#   r¥   ÚVitsAttention.__init__O  sÅ  ø€ Ü‰ÑÔØ×+Ñ+ˆŒØ×3Ñ3ˆŒØ×/Ñ/ˆŒØ!×-Ñ-ˆÔàŸ™¨$¯.©.Õ8ˆŒØ—}‘} dÕ*ˆŒà�M‰M˜DŸN™NÕ*¨t¯~©~Ô=ÜØ[Ð\`×\jÑ\jÐ[kØ.¨t¯~©~Ð.>¸bðBóð ô
 —i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜ—i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜ—i’i §¡°·±ÀVÇ_Á_ÔUˆŒÜŸ	š	 $§.¡.°$·.±.ÀvÇÁÔWˆŒà××ÐÜŸ\š\¬%¯+ª+°a¸×9IÑ9IÈAÕ9MÐPQÕ9QÐSW×S`ÑS`Ó*aÐdh×dpÑdpÕ*pÓqˆDŒNÜŸ\š\¬%¯+ª+°a¸×9IÑ9IÈAÕ9MÐPQÕ9QÐSW×S`ÑS`Ó*aÐdh×dpÑdpÕ*pÓqˆDŽNñ r&   c                ó@   <€ V ^8„  d   QhRS[ P                  RS[RS[/# )r   ÚtensorÚseq_lenÚbsz)r   ÚTensorr™   )r!   r"   s   "€r#   r$   r°  h  s+   ø€ ÷ eñ e™UŸ\™\ð e±Cð e¹cñ er&   c                óŒ   € VP                  W2V P                  V P                  4      P                  ^^4      P	                  4       # r  )Úviewr³  r¶  rW  Ú
contiguous)r·   rÂ  rÃ  rÄ  s   &&&&r#   Ú_shapeÚVitsAttention._shapeh  s5   € Ø�{‰{˜3¨¯©¸¿¹ÓG×QÑQÐRSÐUVÓW×bÑbÓdÐdr&   c                óÜ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[RS[S[ P                  S[ P                  R,          3,          /# )r   r   Úkey_value_statesNÚattention_maskÚoutput_attentionsr#  )r   rÅ  Úboolr    )r!   r"   s   "€r#   r$   r°  k  sq   ø€ ÷ V2ñ V2á—|‘|ðV2ñ  Ÿ,™,¨Õ-ðV2ñ Ÿ™ tÕ+ð	V2ñ
  ðV2ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñV2r&   c                ój  € VP                  4       w  rVpV P                  V4      V P                  ,          pV P                  V P	                  V4      RV4      p	V P                  V P                  V4      RV4      p
WPP                  ,          RV P                  3pV P                  W†V4      P                  ! V!  pV	P                  ! V!  p	V
P                  ! V!  p
V	P                  ^4      p\        P                  ! W‰P                  ^^4      4      pVP                  4       WPP                  ,          Wl38w  d2   \        RWPP                  ,          Wl3 RVP                  4        24      hV P                  e]   V P                  V P                  V4      p\        P                   ! WŽP                  R	R4      4      pV P#                  V4      pVV,          pVe€   VP                  4       V^Wl38w  d#   \        RV^Wl3 RVP                  4        24      hVP                  WPP                  Wl4      V,           pVP                  WPP                  ,          Wl4      p\$        P&                  P)                  VRR7      pV'       d@   VP                  WPP                  Wl4      pVP                  WPP                  ,          Wl4      pMRp\$        P&                  P+                  WÐP*                  V P,                  R7      p\        P                  ! VV
4      pVP                  4       WPP                  ,          W`P                  38w  d6   \        RWPP                  W`P                  3 RVP                  4        24      hV P                  eN   V P                  V P.                  V4      pV P1                  V4      p\        P                   ! VV4      pVV,          pVP                  WPP                  W`P                  4      pVP                  ^^4      pVP3                  WVV P4                  4      pV P7                  V4      pVV3# )
z#Input shape: Batch x Time x Channelz$Attention weights should be of size z	, but is Nz!Attention mask should be of size rd   )ÚpÚtrainingz `attn_output` should be of size rT   r‰  )rŒ  r¼  r·  rÉ  rº  r»  r³  r¶  rÇ  r   ÚbmmrW  rl   rµ  Ú_get_relative_embeddingsr¾  ÚmatmulÚ'_relative_position_to_absolute_positionr   rY   rm   r¬   rÒ  r¿  Ú'_absolute_position_to_relative_positionrf  r‚  r½  )r·   r   rÌ  rÍ  rÎ  rÄ  Útgt_lenró   Úquery_statesÚ
key_statesÚvalue_statesÚ
proj_shapeÚsrc_lenÚattn_weightsÚkey_relative_embeddingsÚrelative_logitsÚrel_pos_biasÚattn_weights_reshapedÚ
attn_probsÚattn_outputÚvalue_relative_embeddingsÚrelative_weightss   &&&&&                 r#   rÇ   ÚVitsAttention.forwardk  s³  € ð (×,Ñ,Ó.‰ˆ�að —{‘{ =Ó1°D·L±LÕ@ˆð —[‘[ §¡¨]Ó!;¸RÀÓEˆ
Ø—{‘{ 4§;¡;¨}Ó#=¸rÀ3ÓGˆàŸN™NÕ*¨B°·±Ð>ˆ
Ø—{‘{ <¸#Ó>×CÒCÀZÑPˆØ—_’_ jÑ1ˆ
Ø#×(Ò(¨*Ñ5ˆà—/‘/ !Ó$ˆÜ—y’y ×/CÑ/CÀAÀqÓ/IÓJˆà×ÑÓ 3¯©Õ#7¸Ð"JÔJÜØ6¸¿n¹nÕ8LÈgÐ7_Ð6`ð aØ ×%Ñ%Ó'Ð(ð*óð ð
 ×ÑÒ'Ø&*×&CÑ&CÀDÇNÁNÐT[Ó&\Ð#Ü#Ÿlšl¨<×9ZÑ9ZÐ[]Ð_aÓ9bÓcˆOØ×GÑGÈÓXˆLØ˜LÕ(ˆLàÒ%Ø×"Ñ"Ó$¨¨a°Ð(BÔBÜ Ø7¸¸aÀÐ8RÐ7SÐS\Ð]k×]pÑ]pÓ]rÐ\sÐtóð ð (×,Ñ,¨S·.±.À'ÓSÐVdÕdˆLØ'×,Ñ,¨S·>±>Õ-AÀ7ÓTˆLä—}‘}×,Ñ,¨\¸rÐ,ÓBˆçð
 %1×$5Ñ$5°c¿>¹>È7Ó$\Ð!Ø0×5Ñ5°c¿N¹NÕ6JÈGÓ]‰Là$(Ð!ä—]‘]×*Ñ*¨<¿<¹<ÐRV×R_ÑR_Ð*Ó`ˆ
ä—i’i 
¨LÓ9ˆà×ÑÓ #¯©Õ"6¸ÇÁÐ!OÔOÜØ2°C¿¹È×R_ÑR_Ð3`Ð2að bØ×$Ñ$Ó&Ð'ð)óð ð
 ×ÑÒ'Ø(,×(EÑ(EÀdÇnÁnÐV]Ó(^Ð%Ø#×KÑKÈJÓWÐÜ Ÿ<š<Ð(8Ð:SÓTˆLØ˜<Õ'ˆKà!×&Ñ& s¯N©N¸GÇ]Á]ÓSˆØ!×+Ñ+¨A¨qÓ1ˆð "×)Ñ)¨#¸¿¹ÓGˆà—m‘m KÓ0ˆàÐ1Ð1Ð1r&   c           	     ó.  € \        W P                  ^,           ,
          ^ 4      pV^ 8”  d&   \        P                  P	                  V^ ^ W3^ ^ .4      p\        V P                  ^,           V,
          ^ 4      pV^V,          ,           ^,
          pVRWE13,          # )rP   r9   )rj   rµ  r   rY   rE   )r·   Úrelative_embeddingsrj  Ú
pad_lengthÚslice_start_positionÚslice_end_positions   &&&   r#   rÔ  Ú&VitsAttention._get_relative_embeddingsÃ  sŽ   € Ü˜×#3Ñ#3°aÕ#7Õ8¸!Ó<ˆ
Ø˜Œ>Ü"$§-¡-×"3Ñ"3Ð4GÈ!ÈQÐPZÐhiÐklÐImÓ"nÐä" D×$4Ñ$4°qÕ$8¸FÕ#BÀAÓFÐØ1°A¸µJÕ>ÀÕBÐØ" 1Ð&:Ð&MÐ#MÕNÐNr&   c                ó„  € VP                  4       w  r#p\        P                  P                  V. RO4      pVP	                  W#^,          V,          .4      p\        P                  P                  V^ V^,
          ^ ^ .4      pVP	                  W#^,           ^V,          ^,
          .4      pVRRV1V^,
          R13,          pV# )rR   r9   N)rR   rP   rR   rR   rR   rR   ©rŒ  r   rY   rE   rÇ  ©r·   ÚxÚbatch_headsrj  ró   Úx_flatÚx_finals   &&     r#   rÖ  Ú5VitsAttention._relative_position_to_absolute_positionÌ  s«   € Ø!"§¡£Ñˆ˜Qô �M‰M×Ñ˜aÒ!3Ó4ˆð —‘˜¨q¥j°6Õ&9Ð:Ó;ˆÜ—‘×"Ñ" 6¨A¨v¸­z¸1¸aÐ+@ÓAˆð —+‘+˜{°Q­J¸¸F½
ÀQ½ÐGÓHˆØ˜!˜W˜f˜W f¨q¥j¡lÐ2Õ3ˆØˆr&   c           	     ó\  € VP                  4       w  r#p\        P                  P                  V^ V^,
          ^ ^ ^ ^ .4      pVP	                  W#^V,          ^,
          ,          .4      p\        P                  P                  WS^ ^ ^ .4      pVP	                  W#^V,          .4      R,          pV# )rR   )r9   r9   rh   rï  rð  s   &&     r#   r×  Ú5VitsAttention._absolute_position_to_relative_positionÛ  s™   € Ø!"§¡£Ñˆ˜Qô �M‰M×Ñ˜a ! V¨a¥Z°°A°q¸!Ð!<Ó=ˆØ—‘˜°°Fµ
¸QµÕ&?Ð@ÓAˆô —‘×"Ñ" 6°A°q¸!Ð+<Ó=ˆØ—+‘+˜{°A¸µJÐ?Ó@ÀÕJˆØˆr&   )r¬   r¾  r¿  r‚  r¶  rº  r³  r½  r¼  r·  r»  rµ  )NNF)r(   r)   r*   r+   r,   r¥   rÉ  rÇ   rÔ  rÖ  r×  r.   r/   rÏ   rÐ   s   @@r#   r®  r®  L  sB   ù‡ € ÙI÷ró r÷2eð e÷V2ò V2òpOò÷
ò 
r&   r®  c                   ó8   a a€ ] tR tRt oV 3R ltR tRtVtV ;t# )ÚVitsFeedForwardiè  c                óœ  <€ \         SV `  4        \        P                  ! VP                  VP
                  VP                  4      V n        \        P                  ! VP
                  VP                  VP                  4      V n        \        P                  ! VP                  4      V n        \        VP                  \        4      '       d   \        VP                  ,          V n        MVP                  V n        VP                  ^8”  d<   VP                  ^,
          ^,          pVP                  ^,          pW#^ ^ ^ ^ .V n        R# RV n        R# rq  )r¤   r¥   r   r±   r¦   Úffn_dimÚffn_kernel_sizer£  r¦  rª   Úactivation_dropoutr¬   Ú
isinstanceÚ
hidden_actÚstrr   Úact_fnr£   )r·   r—   Úpad_leftÚ	pad_rightr¼   s   &&  €r#   r¥   ÚVitsFeedForward.__init__é  sê   ø€ Ü‰ÑÔÜ—i’i × 2Ñ 2°F·N±NÀF×DZÑDZÓ[ˆŒÜ—i’i §¡°×0BÑ0BÀF×DZÑDZÓ[ˆŒÜ—z’z &×";Ñ";Ó<ˆŒä�f×'Ñ'¬×-Ò-Ü  ×!2Ñ!2Õ3ˆD�Kà ×+Ñ+ˆDŒKà×!Ñ! AÔ%Ø×.Ñ.°Õ2°qÕ8ˆHØ×.Ñ.°!Õ3ˆIØ$°°A°q¸!Ð<ˆDŽLàˆDŽLr&   c                ó  € VP                  ^ ^^4      pVP                  ^ ^^4      pW,          pV P                  e*   \        P                  P	                  WP                  4      pV P                  V4      pV P                  V4      pV P                  V4      pW,          pV P                  e*   \        P                  P	                  WP                  4      pV P                  V4      pW,          pVP                  ^ ^^4      pV# )rR   )	rg  r£   r   rY   rE   r£  r  r¬   r¦  )r·   r   rÀ   s   &&&r#   rÇ   ÚVitsFeedForward.forwardû  sØ   € Ø%×-Ñ-¨a°°AÓ6ˆØ#×+Ñ+¨A¨q°!Ó4ˆà%Õ4ˆØ�<‰<Ò#ÜŸM™M×-Ñ-¨m¿\¹\ÓJˆMàŸ™ MÓ2ˆØŸ™ MÓ2ˆØŸ™ ]Ó3ˆà%Õ4ˆØ�<‰<Ò#ÜŸM™M×-Ñ-¨m¿\¹\ÓJˆMàŸ™ MÓ2ˆØ%Õ4ˆà%×-Ñ-¨a°°AÓ6ˆØÐr&   )r  r£  r¦  r¬   r£   rè   rÐ   s   @@r#   rù  rù  è  s   ù‡ € õ ÷$ò r&   rù  c                   óT   a a€ ] tR tRt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚVitsEncoderLayeri  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsEncoderLayer.__annotate__  s   ø€ ÷ \ñ \™zñ \r&   c                ór  <€ \         SV `  4        \        V4      V n        \        P
                  ! VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        \        V4      V n        \        P                  ! VP                  VP                  R 7      V n        R# )r   N)r¤   r¥   r®  Ú	attentionr   rª   Úhidden_dropoutr¬   rR  r¦   r¤  Ú
layer_normrù  Úfeed_forwardÚfinal_layer_normrÞ   s   &&€r#   r¥   ÚVitsEncoderLayer.__init__  sz   ø€ Ü‰ÑÔÜ& vÓ.ˆŒÜ—z’z &×"7Ñ"7Ó8ˆŒÜŸ,š, v×'9Ñ'9¸v×?TÑ?TÔUˆŒÜ+¨FÓ3ˆÔÜ "§¢¨V×-?Ñ-?ÀV×EZÑEZÔ [ˆÖr&   c                ó|   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  R,          RS[/# )r   r   rÀ   rÍ  NrÎ  )r   rÅ  r   rÏ  )r!   r"   s   "€r#   r$   r
    sF   ø€ ÷ ñ á—|‘|ðñ ×'Ñ'ðñ Ÿ™ tÕ+ð	ñ
  ñr&   c                ó$  € TpV P                  VVVR 7      w  rV P                  V4      pV P                  WQ,           4      pTpV P                  W4      pV P                  V4      pV P	                  WQ,           4      pV3pV'       d
   Wv3,          pV# ))r   rÍ  rÎ  )r  r¬   r  r  r  )r·   r   rÀ   rÍ  rÎ  r  rÞ  r]   s   &&&&&   r#   rÇ   ÚVitsEncoderLayer.forward  s™   € ð !ˆØ&*§n¡nØ'Ø)Ø/ð '5ó '
Ñ#ˆð Ÿ™ ]Ó3ˆØŸ™¨Õ(@ÓAˆà ˆØ×)Ñ)¨-ÓFˆØŸ™ ]Ó3ˆØ×-Ñ-¨hÕ.FÓGˆà Ð"ˆçØ�Õ&ˆGàˆr&   )r  r¬   r  r  r  r6  rè   rÐ   s   @@r#   r  r    s    ù‡ € ÷\ó \÷÷ ò r&   r  c                   óT   a a€ ] tR tRt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚVitsEncoderi9  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsEncoder.__annotate__:  s   ø€ ÷ *ñ *™zñ *r&   c                óø   <€ \         SV `  4        Wn        \        P                  ! \        VP                  4       Uu. uF  p\        V4      NK  	  up4      V n        R V n	        VP                  V n
        R# u upi )FN)r¤   r¥   r—   r   r§   r³   Únum_hidden_layersr  ÚlayersÚgradient_checkpointingÚ	layerdropr>  s   && €r#   r¥   ÚVitsEncoder.__init__:  s`   ø€ Ü‰ÑÔØŒÜ—m’mÄuÈV×MeÑMeÔGfÓ$gÑGfÀ!Ô%5°fÖ%=ÑGfÑ$gÓhˆŒØ&+ˆÔ#Ø×)Ñ)ˆŽùò %hs   ½A7c                óÈ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  R,          RS[R,          RS[R,          RS[R,          RS[S[,          /# )	r   r   rÀ   rÍ  NrÎ  Úoutput_hidden_statesÚreturn_dictr#  )r   r   rÅ  rÏ  r    r   )r!   r"   s   "€r#   r$   r  A  sw   ø€ ÷ :
ñ :
á×(Ñ(ð:
ñ ×'Ñ'ð:
ñ Ÿ™ tÕ+ð	:
ñ
   $�;ð:
ñ # T�kð:
ñ ˜D•[ð:
ñ 
‘Õ	 ñ:
r&   c                óÊ  € V'       d   RMR pV'       d   RMR p\        V P                  VVR7      pW,          p\        4       ;'       g    \        V 4      p	V P                   F   p
V'       d
   Wq3,           p\
        P                  P                  ^ ^4      pV P                  ;'       d    W°P                  8  pV'       d	   V	'       d   V
! VVVVR7      pV^ ,          pV'       d   RpV'       g   K�  VX^,          3,           pK¢  	  W,          pV'       d
   Wq3,           pV'       g1   \        ;QJ d    . R WV3 4       F  NK  	  5# ! R WV3 4       4      # \        VVVR7      # )N)r—   Úinputs_embedsrÍ  )rÍ  rÀ   rÎ  c              3   ó0   "  € T F  qf   K  Vx € K  	  R # 5irÎ   r'   )Ú.0Úvs   & r#   Ú	<genexpr>Ú&VitsEncoder.forward.<locals>.<genexpr>u  s   é € ÐmÑ$[˜qŸšÓ$[ùs   ‚Œ
)r4   r   r   r'   )NN)r	   r—   r   r   r  rV   ÚrandomÚuniformrÒ  r  r    r   )r·   r   rÀ   rÍ  rÎ  r   r!  Úall_hidden_statesÚall_self_attentionsÚsynced_gpusÚencoder_layerÚdropout_probabilityÚskip_the_layerÚlayer_outputss   &&&&&&&       r#   rÇ   ÚVitsEncoder.forwardA  sF  € ÷ #7™B¸DÐß$5™b¸4Ðä2Ø—;‘;Ø'Ø)ô
ˆð &Õ4ˆä0Ó2×RÐRÔ6LÈTÓ6Rˆà!Ÿ[œ[ˆMß#Ø$5Ð8HÕ$HÐ!ô #%§)¡)×"3Ñ"3°A°qÓ"9Ðà!Ÿ]™]×UÐUÐ0CÇnÁnÑ0TˆNß!§[á -Ø!Ø#1Ø!-Ø&7ô	!�ð !.¨aÕ 0�çØ ,�ç Ñ Ø&9¸]È1Õ=MÐ<OÕ&OÒ#ñ- )ð0 &Õ4ˆçØ 1Ð4DÕ DÐçß”5Ñm ]ÐGZÑ$[Óm—5Ðm�5Ñm ]ÐGZÑ$[ÓmÓmÐmäØ+Ø+Ø*ô
ð 	
r&   )r—   r  r  r  )NNNNrè   rÐ   s   @@r#   r  r  9  s   ù‡ € ÷*ó *÷:
÷ :
ò :
r&   r  c                   óX   a a€ ] tR tRt oRtV3R lV 3R lltRV3R lR lltRtVtV ;t	# )	ÚVitsTextEncoderi~  zk
Transformer encoder that uses relative positional representation instead of absolute positional encoding.
c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsTextEncoder.__annotate__ƒ  s   ø€ ÷ Zñ Z™zñ Zr&   c                ó8  <€ \         SV `  4        Wn        \        P                  ! VP
                  VP                  VP                  4      V n        \        V4      V n
        \        P                  ! VP                  VP                  ^,          ^R7      V n        R# )r   )r¡   N)r¤   r¥   r—   r   Ú	EmbeddingÚ
vocab_sizer¦   Úpad_token_idÚembed_tokensr  Úencoderr±   rØ   ÚprojectrÞ   s   &&€r#   r¥   ÚVitsTextEncoder.__init__ƒ  sm   ø€ Ü‰ÑÔØŒÜŸLšL¨×):Ñ):¸F×<NÑ<NÐPV×PcÑPcÓdˆÔÜ" 6Ó*ˆŒÜ—y’y ×!3Ñ!3°V×5EÑ5EÈÕ5IÐWXÔYˆŽr&   c                óì   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  R,          RS[R,          RS[R,          RS[R,          RS[S[ P                  ,          S[,          /# )	r   Ú	input_idsrÀ   rÍ  NrÎ  r   r!  r#  )r   rÅ  r   rÏ  r    r2   )r!   r"   s   "€r#   r$   r6  Š  s   ø€ ÷ #
ñ #
á—<‘<ð#
ñ ×'Ñ'ð#
ñ Ÿ™ tÕ+ð	#
ñ
   $�;ð#
ñ # T�kð#
ñ ˜D•[ð#
ñ 
‰u�|‰|Õ	Ñ4Õ	4ñ#
r&   c           	     ó6  € V P                  V4      \        P                  ! V P                  P                  4      ,          pV P                  VVVVVVR 7      pV'       g
   V^ ,          MVP                  p	V P                  V	P                  ^^4      4      P                  ^^4      V,          p
\        P                  ! W P                  P                  ^R7      w  r¼V'       g   W›V3VR,          ,           pV# \        V	VVVP                  VP                  R7      # ))r   rÀ   rÍ  rÎ  r   r!  rd   rh   )r4   r5   r6   r   r   )r;  rh  rt   r—   r¦   r<  r4   r=  rW  r   rá   rØ   r2   r   r   )r·   r@  rÀ   rÍ  rÎ  r   r!  r   Úencoder_outputsr4   rã   r5   r6   r]   s   &&&&&&&       r#   rÇ   ÚVitsTextEncoder.forwardŠ  sü   € ð ×)Ñ)¨)Ó4´t·y²yÀÇÁ×AXÑAXÓ7YÕYˆàŸ,™,Ø'Ø%Ø)Ø/Ø!5Ø#ð 'ó 
ˆ÷ 7B˜O¨AÖ.À×GhÑGhÐà—‘Ð.×8Ñ8¸¸AÓ>Ó?×IÑIÈ!ÈQÓOÐR^Õ^ˆÜ+0¯;ª;°u¿k¹k×>SÑ>SÐYZÔ+[Ñ(ˆçØ(Ð7JÐKÈoÐ^`ÕNaÕaˆGØˆNä$Ø/Ø#Ø 3Ø)×7Ñ7Ø&×1Ñ1ô
ð 	
r&   )r—   r;  r<  r=  )NNNT)
r(   r)   r*   r+   r,   r¥   rÇ   r.   r/   rÏ   rÐ   s   @@r#   r4  r4  ~  s%   ù‡ € ñ÷Zó Z÷#
÷ #
ò #
r&   r4  c                   ó~   a a€ ] tR tRt oRtRtRt]P                  ! 4       V3R lV 3R ll4       t	V3R lt
RtVtV ;t# )	ÚVitsPreTrainedModeli°  Úvitsr@  Tc                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Úmodule)r   ÚModule)r!   r"   s   "€r#   r$   Ú VitsPreTrainedModel.__annotate__¸  s   ø€ ÷ *ñ *¡B§I¡Iñ *r&   c                óæ  <€ \         SV `  V4       \        V\        P                  \        P
                  34      '       d    \        P                  ! VP                  4       VP                  ep   \        P                  ! VP                  VP                  VP                  ^ ,          ,          ,          4      p\        P                  ! VP                  V) VR7       R# R# \        V\         4      '       d¤   V P"                  P$                  '       d†   V P"                  P&                  V P"                  P(                  ,          p\        P*                  ! VP,                  VR,          R7       \        P*                  ! VP.                  VR,          R7       R# R# \        V\0        4      '       dC   \        P2                  ! VP4                  4       \        P2                  ! VP6                  4       R# R# )zInitialize the weightsN)r�   r�   )Ústdrˆ  )r¤   Ú_init_weightsrþ  r   r±   r  ÚinitÚkaiming_normal_r�   r  rh  rt   rK  rŸ   r¡   Úuniform_r®  r—   rµ  r¦   r²  Únormal_r¾  r¿  rm  Úzeros_rt  ru  )r·   rH  Úkr¶  r¼   s   &&  €r#   rM  Ú!VitsPreTrainedModel._init_weights·  s>  ø€ ô 	‰Ñ˜fÔ%Ü�fœrŸy™y¬"×*<Ñ*<Ð=×>Ò>Ü× Ò  §¡Ô/Ø�{‰{Ò&Ü—I’I˜fŸm™m¨v×/AÑ/AÀF×DVÑDVÐWXÕDYÕ/YÕZÓ[�Ü—’˜fŸk™k¨a¨R°1×5ñ 'ô ˜¤×.Ò.Ø�{‰{×&×&Ð&ØŸ;™;×2Ñ2°d·k±k×6UÑ6UÕU�Ü—’˜V×-Ñ-°8¸Tµ>ÕBÜ—’˜V×-Ñ-°8¸Tµ>×Bñ 'ô ˜Ô 5×6Ò6Ü�KŠK˜×(Ñ(Ô)Ü�KŠK˜×(Ñ(Ö)ñ 7r&   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rÔ   r   )r!   r"   s   "€r#   r$   rJ  °  s   ø‡ ‚ áÑò r&   r'   )r(   r)   r*   r+   Úbase_model_prefixÚmain_input_nameÚsupports_gradient_checkpointingr   Úno_gradrM  r-   r.   r/   rÏ   rÐ   s   @@r#   rE  rE  °  s<   ù‡ € ð ÐØ!€OØ&*Ð#à
‡]‚]ƒ_÷*ò *ó ð*÷ … r&   rE  z@
    The complete VITS model, for text-to-speech synthesis.
    c                   ó^   a a€ ] tR tRt oV3R lV 3R llt]RV3R lR ll4       tRtVtV ;t	# )Ú	VitsModeliÊ  c                ó    <€ V ^8„  d   QhRS[ /# rÔ   r   )r!   r"   s   "€r#   r$   ÚVitsModel.__annotate__Ð  s   ø€ ÷ ñ ™zñ r&   c                ó   <€ \         SV `  V4       Wn        \        V4      V n        \        V4      V n        \        V4      V n        VP                  '       d   \        V4      V n        M\        V4      V n        VP                  ^8”  d1   \        P                  ! VP                  VP                   4      V n        \%        V4      V n        VP(                  V n        VP*                  V n        VP,                  V n        V P/                  4        R# rq  )r¤   r¥   r—   r4  Útext_encoderr8  rD  r	  ÚdecoderÚ"use_stochastic_duration_predictionrz  Úduration_predictorrž  Únum_speakersr   r8  r°   Úembed_speakerrÒ   Úposterior_encoderÚspeaking_rater“  Únoise_scale_durationÚ	post_initrÞ   s   &&€r#   r¥   ÚVitsModel.__init__Ð  sÔ   ø€ Ü‰Ñ˜Ô ØŒÜ+¨FÓ3ˆÔÜ-¨fÓ5ˆŒ	Ü" 6Ó*ˆŒà×4×4Ð4Ü&EÀfÓ&MˆDÕ#ä&;¸FÓ&CˆDÔ#à×Ñ Ô"Ü!#§¢¨f×.AÑ.AÀ6×C`ÑC`Ó!aˆDÔô "6°fÓ!=ˆÔð $×1Ñ1ˆÔØ!×-Ñ-ˆÔØ$*×$?Ñ$?ˆÔ!ð 	�‰Ör&   c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[R,          RS[R,          RS[ P                  R,          R	S[R,          R
S[S[,          S[,          /	# )r   r@  NrÍ  Ú
speaker_idrÎ  r   r!  Úlabelsrf  r#  )	r   rÅ  r™   rÏ  r   Úfloatr    r   r   )r!   r"   s   "€r#   r$   r]  ë  sª   ø€ ÷ D
ñ D
á—<‘< $Õ&ðD
ñ Ÿ™ tÕ+ðD
ñ ˜$•Jð	D
ñ
   $�;ðD
ñ # T�kðD
ñ ˜D•[ðD
ñ ×!Ñ! DÕ(ðD
ñ ˜t•|ðD
ñ 
‰s�‘oÕ	%ñD
r&   c	           	     ó’  € Ve   TMV P                   P                  pVe   TMV P                   P                  pVe   TMV P                   P                  pVe   \	        R4      hV P
                  P                  P                  P                  p
Ve"   VP                  R4      P                  V
4      pM4\        P                  ! V4      P                  R4      P                  V
4      pV P                   P                  ^8”  d­   Ve©   ^ Tu;8:  d   V P                   P                  8  g-   M \        RV P                   P                  ^,
           R24      h\        V\         4      '       d#   \        P"                  ! RW0P$                  R7      pV P'                  V4      P                  R4      pMRpV P                  VVVVVVR7      pV'       g
   V^ ,          MVP(                  pVP+                  ^^4      pVP+                  ^^4      pV'       g
   V^,          MVP,                  pV'       g
   V^,          MVP.                  pV P                   P0                  '       d"   V P3                  VVVRV P4                  R7      pMV P3                  WëV4      pVf   V P6                  pR	V,          p\        P8                  ! \        P:                  ! V4      V,          V,          4      p\        P<                  ! \        P>                  ! V^^.4      ^4      PA                  4       p\        PB                  ! VPE                  4       VP                  VP$                  R
7      pVP                  ^ 4      VP                  ^4      8  pVP                  ^4      P                  VP                  4      p\        P                  ! V^4      \        P                  ! VR4      ,          pVPF                  w  pppp\        PH                  ! VR4      PK                  VV,          ^4      p\        PB                  ! VVP                  VP$                  R
7      pVP                  ^ 4      V8  pVP                  VP                  4      PK                  VVV4      pV\L        PN                  PQ                  V. RO4      RRR13,          ,
          pVP                  ^4      P+                  ^^4      V,          p\        PR                  ! VPU                  ^4      V4      P+                  ^^4      p\        PR                  ! VPU                  ^4      V4      P+                  ^^4      pV\        PV                  ! V4      \        P:                  ! V4      ,          V PX                  ,          ,           p V P[                  V VVRR7      p!V!V,          p"V P]                  V"V4      p#V#PU                  ^4      p#V\^        P`                  ! V P                   Pb                  4      ,          p$V'       g   V#V$V"3VR,          ,           p%V%# \e        V#V$V"VPf                  VPh                  R7      # )a_  
speaker_id (`int`, *optional*):
    Which speaker embedding to use. Only used for multispeaker models.
labels (`torch.FloatTensor` of shape `(batch_size, config.spectrogram_bins, sequence_length)`, *optional*):
    Float values of target spectrogram. Timesteps set to `-100.0` are ignored (masked) for the loss
    computation.
speaking_rate (`float`, *optional*):
    Speaking rate.

Example:

```python
>>> from transformers import VitsTokenizer, VitsModel, set_seed
>>> import torch

>>> tokenizer = VitsTokenizer.from_pretrained("facebook/mms-tts-eng")
>>> model = VitsModel.from_pretrained("facebook/mms-tts-eng")

>>> inputs = tokenizer(text="Hello - my dog is cute", return_tensors="pt")

>>> set_seed(555)  # make deterministic

>>> with torch.no_grad():
...     outputs = model(inputs["input_ids"])
>>> outputs.waveform.shape
torch.Size([1, 45824])
```
Nz&Training of VITS is not supported yet.z Set `speaker_id` in the range 0-Ú.)rŒ  Ú
fill_valuer…  )r@  rÀ   rÍ  rÎ  r   r!  T)rK   r“  rc   )r†  r…  r9   rA  :r  NN)r   r   r   r   r   rT   r  )rR   rR   rP   rR   rR   rR   )5r—   rÎ  r   r!  ÚNotImplementedErrorr_  r;  r�   r†  Ú	unsqueezer�  r   Ú	ones_likerc  rl   rþ  r™   Úfullr…  rd  r4   rW  r5   r6   ra  rb  rg  rf  ÚceilrX   r�  rp   ÚlongÚarangerj   rk   rn   rÇ  r   rY   rE   rÕ  Úsqueezerâ   r“  rD  r`  rV   Úprodr  r   r   r   )&r·   r@  rÍ  rk  rÎ  r   r!  rl  rf  ÚkwargsÚ
mask_dtypeÚinput_padding_maskÚspeaker_embeddingsÚtext_encoder_outputr   r5   r6   r›  Úlength_scaleÚdurationÚpredicted_lengthsÚindicesÚoutput_padding_maskÚ	attn_maskri  ró   Úoutput_lengthÚinput_lengthÚcum_durationÚvalid_indicesÚpadded_indicesÚattnÚprior_latentsr™  r   r   r   r]   s&   &&&&&&&&&,                            r#   rÇ   ÚVitsModel.forwardê  sF  € ðR 2CÒ1NÑ-ÐTX×T_ÑT_×TqÑTqÐà$8Ò$DÑ È$Ï+É+×JjÑJjð 	ð &1Ò%<‘kÀ$Ç+Á+×BYÑBYˆàÒÜ%Ð&NÓOÐOà×&Ñ&×3Ñ3×:Ñ:×@Ñ@ˆ
ØÒ%Ø!/×!9Ñ!9¸"Ó!=×!@Ñ!@ÀÓ!LÑä!&§¢°Ó!;×!EÑ!EÀbÓ!I×!LÑ!LÈZÓ!XÐà�;‰;×#Ñ# aÔ'¨JÒ,BØ˜
Ö= T§[¡[×%=Ñ%=Ö=Ü Ð#CÀDÇKÁK×D\ÑD\Ð_`ÕD`ÐCaÐabÐ!cÓdÐdÜ˜*¤c×*Ò*Ü"ŸZšZ¨T¸j×Q\ÑQ\Ô]�
Ø!%×!3Ñ!3°JÓ!?×!IÑ!IÈ"Ó!MÑà!%Ðà"×/Ñ/ØØ+Ø)Ø/Ø!5Ø#ð 0ó 
Ð÷ 7BÐ+¨AÖ.ÐGZ×GlÑGlˆØ%×/Ñ/°°1Ó5ˆØ/×9Ñ9¸!¸QÓ?Ðß4?Ð)¨!Ö,ÐEX×EdÑEdˆß<GÐ1°!Ö4ÐM`×MtÑMtÐà�;‰;×9×9Ð9Ø×2Ñ2ØØ"Ø"ØØ ×5Ñ5ð 3ó ‰Lð  ×2Ñ2°=ÐVhÓiˆLàÒ Ø ×.Ñ.ˆMØ˜]Õ*ˆÜ—:’:œeŸiši¨Ó5Ð8JÕJÈ\ÕYÓZˆÜ!ŸOšO¬E¯IªI°hÀÀAÀÓ,GÈÓK×PÑPÓRÐô —,’,Ð0×4Ñ4Ó6Ð>O×>UÑ>UÐ^o×^vÑ^vÔwˆØ%×/Ñ/°Ó2Ð5F×5PÑ5PÐQRÓ5SÑSÐØ1×;Ñ;¸AÓ>×AÑAÐBT×BZÑBZÓ[Ðô —O’OÐ$6¸Ó:¼U¿_º_ÐM`ÐbdÓ=eÕeˆ	Ø5>·_±_Ñ2ˆ
�A�} lÜ—|’| H¨bÓ1×6Ñ6°zÀLÕ7PÐRSÓTˆÜ—,’,˜}°H·N±NÈ8Ï?É?Ô[ˆØ×)Ñ)¨!Ó,¨|Ñ;ˆØ%×(Ñ(¨¯©Ó9×>Ñ>¸zÈ<ÐYfÓgˆØ&¬¯©×):Ñ):¸=ÒJ\Ó)]Ð^_ÐadÐbdÐadÐ^dÕ)eÕeˆØ×'Ñ'¨Ó*×4Ñ4°Q¸Ó:¸YÕFˆô —l’l 4§<¡<°£?°KÓ@×JÑJÈ1ÈaÓPˆÜ#Ÿlšl¨4¯<©<¸«?Ð<OÓP×ZÑZÐ[\Ð^_Ó`Ðà#¤e×&6Ò&6°{Ó&CÄeÇiÂiÐPcÓFdÕ&dÐgk×gwÑgwÕ&wÕwˆØ—)‘)˜MÐ+>Ð@RÐ\`�)ÓaˆàÐ 3Õ3ˆØ—<‘< Ð-?Ó@ˆØ×#Ñ# AÓ&ˆØ,¬r¯wªw°t·{±{×7QÑ7QÓ/RÕRÐçØÐ!1°;Ð?ÐBUÐVXÕBYÕYˆGØˆNäØØ-Ø#Ø-×;Ñ;Ø*×5Ñ5ô
ð 	
r&   )
r—   r`  rb  rd  rD  r“  rg  re  rf  r_  )NNNNNNNN)
r(   r)   r*   r+   r¥   r   rÇ   r.   r/   rÏ   rÐ   s   @@r#   r[  r[  Ê  s1   ù‡ € ÷ó ð4 ÷D
ñ D
ó ÷D
ð D
r&   r[  )Fg      @çü©ñÒMbP?r�  r�  )@r,   rh  Údataclassesr   Útypingr   ÚnumpyrV   r   r   Ú r   rN  Úactivationsr   Úintegrations.deepspeedr   Úintegrations.fsdpr   Úmasking_utilsr	   Úmodeling_layersr
   Úmodeling_outputsr   r   Úmodeling_utilsr   r®   r   r   r   Úconfiguration_vitsr   Ú
get_loggerr(   Úloggerr   r2   ÚjitÚscriptrC   r`   rZ   rI  r•   rÒ   rê   r	  r)  r8  rG  r[  rm  rz  rž  r®  rù  r  r  r4  rE  r[  Ú__all__r'   r&   r#   Ú<module>rŸ     sB  ðñ ã Ý !Ý ã Û Ý å &Ý !Ý @Ý 7Ý 6Ý 9ß <Ý -ß DÑ DÝ *ð 
×	Ò	˜HÓ	%€ñ ðôð
 ô7�kó 7ó óð7ñ$ ðôð
 ô7˜Kó 7ó óð7ð ‡�×Ññó ðôG òTG%ôTM5�%—(‘(—/‘/ô M5ô`)˜2Ÿ9™9ô )ô&;˜2Ÿ9™9ô ;ô|U�"—)‘)ô Uôp! §	¡	ô !ô6 §	¡	ô ô&+% B§I¡Iô +%ô\(!�2—9‘9ô (!ôV!˜BŸI™Iô !ô$a  b§i¡iô a ôH"%˜BŸI™Iô "%ôJY�B—I‘Iô Yôx'�b—i‘iô 'ôT$Ð1ô $ôNB
�"—)‘)ô B
ôJ/
�b—i‘iô /
ðd ô*˜/ó *ó ð*ñ2 ðôô
`
Ð#ó `
óð
`
ðF Ð-Ð
.‚r&   