+
    œ°³j§Ë  ã                   ó`  € ^ RI t ^ RI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 ^RIHt ^RIHt ^RIHtHtHtHtH t H!t! ^RI"H#t#H$t$ ^RI%H&t& ^RI'H(t(H)t)H*t* ^RI+H,t,H-t- ^RI.H/t/H0t0 ^RI1H2t2  ! R R]4      t3 ! R R]Ph                  4      t5 ! R R]Ph                  4      t6 ! R R]Ph                  4      t7 ! R R]Ph                  4      t8 ! R R]Ph                  4      t9RDR  R! llt: ! R" R#]Ph                  4      t; ! R$ R%]Ph                  4      t< ! R& R']4      t= ! R( R)]Ph                  4      t> ! R* R+]Ph                  4      t? ! R, R-]Ph                  4      t@]) ! R. R/]$4      4       tARER0 R1 lltB] tC]) ! R2 R3]A4      4       tD])! R4R57       ! R6 R7]A4      4       tE])! R8R57       ! R9 R:]A4      4       tF]) ! R; R<]A4      4       tG ! R= R>]Ph                  4      tH ! R? R@]Ph                  4      tI])! RAR57       ! RB RC]A4      4       tJ. RFOtKR# )Gé    N)ÚCallable)Únn)ÚCrossEntropyLoss)Úinitialization)ÚACT2FN)Úfilter_output_hidden_states)Úis_deepspeed_zero3_enabled)Úis_fsdp_managed_module)Úcreate_bidirectional_mask)ÚFlashAttentionKwargs)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚCausalLMOutputÚSequenceClassifierOutputÚTokenClassifierOutputÚWav2Vec2BaseModelOutputÚXVectorOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚis_peft_available)Úcan_return_tupleÚmerge_with_config_defaults)ÚOutputRecorderÚcapture_outputs©ÚData2VecAudioConfigc                   ó<   a a€ ] tR t^6t oRV 3R lltR tRtVtV ;t# )ÚData2VecAudioConvLayerc                óê  <€ \         SV `  4        V^ 8”  d   VP                  V^,
          ,          M^V n        VP                  V,          V n        \
        P                  ! V P                  V P                  VP                  V,          VP                  V,          VP                  R7      V n
        \
        P                  ! V P                  RR7      V n        \        VP                  ,          V n        R# )r   )Úkernel_sizeÚstrideÚbiasT©Úelementwise_affineN)ÚsuperÚ__init__Úconv_dimÚin_conv_dimÚout_conv_dimr   ÚConv1dÚconv_kernelÚconv_strideÚ	conv_biasÚconvÚ	LayerNormÚ
layer_normr   Úfeat_extract_activationÚ
activation©ÚselfÚconfigÚlayer_idÚ	__class__s   &&&€Úu/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/data2vec/modeling_data2vec_audio.pyr)   ÚData2VecAudioConvLayer.__init__7   s¯   ø€ Ü‰ÑÔØ<DÀq¼L˜6Ÿ?™?¨8°a­<Ö8ÈaˆÔØ"ŸO™O¨HÕ5ˆÔä—I’IØ×ÑØ×ÑØ×*Ñ*¨8Õ4Ø×%Ñ% hÕ/Ø×!Ñ!ô
ˆŒ	ô Ÿ,š, t×'8Ñ'8ÈTÔRˆŒÜ  ×!?Ñ!?Õ@ˆŽó    c                ó´   € V P                  V4      pVP                  RR4      pV P                  V4      pVP                  RR4      pV P                  V4      pV# )é   éþÿÿÿéÿÿÿÿ)r1   Ú	transposer3   r5   ©r7   Úhidden_statess   &&r;   ÚforwardÚData2VecAudioConvLayer.forwardF   sV   € ØŸ	™	 -Ó0ˆà%×/Ñ/°°BÓ7ˆØŸ™¨Ó6ˆØ%×/Ñ/°°BÓ7ˆàŸ™¨Ó6ˆØÐr=   )r5   r1   r+   r3   r,   ©r   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   rE   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r:   Ú__classdict__s   @@r;   r!   r!   6   s   ù‡ € ÷A÷ò r=   r!   c                   ó8   a a€ ] tR t^Qt oV 3R ltR tRtVtV ;t# )ÚData2VecAudioPadLayerc                ó`   <€ \         SV `  4        V^,          ^ 8X  d
   ^V n        R# ^ V n        R# )r?   N)r(   r)   Únum_pad_remove)r7   Únum_conv_pos_embeddingsr:   s   &&€r;   r)   ÚData2VecAudioPadLayer.__init__R   s)   ø€ Ü‰ÑÔØ#:¸QÕ#>À!Ô#C˜aˆÖÈˆÖr=   c                óZ   € V P                   ^ 8”  d   VRRRV P                   ) 13,          pV# )r   ºNNNN©rU   rC   s   &&r;   rE   ÚData2VecAudioPadLayer.forwardV   s6   € Ø×Ñ Ô"Ø)¨!¨QÐ0F°4×3FÑ3FÐ2FÐ0FÐ*FÕGˆMØÐr=   rZ   rH   rP   s   @@r;   rS   rS   Q   s   ù‡ € õK÷ò r=   rS   c                   ó8   a a€ ] tR t^\t oV 3R ltR tRtVtV ;t# )Ú Data2VecAudioPositionalConvLayerc                ó�  <€ \         SV `  4        \        P                  ! VP                  VP                  VP
                  VP
                  ^,          VP                  R7      V n        \        VP
                  4      V n	        \        VP                  ,          V n        \        P                  ! VP                  RR7      V n        R# )r?   )r#   ÚpaddingÚgroupsFr&   N)r(   r)   r   r-   Úhidden_sizeÚconv_pos_kernel_sizeÚnum_conv_pos_embedding_groupsr1   rS   r_   r   r4   r5   r2   r3   ©r7   r8   r:   s   &&€r;   r)   Ú)Data2VecAudioPositionalConvLayer.__init__]   sŽ   ø€ Ü‰ÑÔÜ—I’IØ×ÑØ×ÑØ×3Ñ3Ø×/Ñ/°1Õ4Ø×7Ñ7ô
ˆŒ	ô -¨V×-HÑ-HÓIˆŒÜ  ×!?Ñ!?Õ@ˆŒäŸ,š, v×'9Ñ'9ÈeÔTˆŽr=   c                óÖ   € V P                  V4      pV P                  V4      pVP                  ^^4      pV P                  V4      pVP                  ^^4      pV P	                  V4      pV# ©é   )r1   r_   rB   r3   r5   rC   s   &&r;   rE   Ú(Data2VecAudioPositionalConvLayer.forwardl   sd   € ØŸ	™	 -Ó0ˆØŸ™ ]Ó3ˆà%×/Ñ/°°1Ó5ˆØŸ™¨Ó6ˆØ%×/Ñ/°°1Ó5ˆØŸ™¨Ó6ˆØÐr=   )r5   r1   r3   r_   rH   rP   s   @@r;   r]   r]   \   s   ù‡ € õU÷ò r=   r]   c                   ó8   a a€ ] tR t^wt oV 3R ltR tRtVtV ;t# )Ú$Data2VecAudioPositionalConvEmbeddingc                ó¼   <€ \         SV `  4        \        P                  ! \	        VP
                  4       Uu. uF  p\        V4      NK  	  up4      V n        R # u upi ©N)r(   r)   r   Ú
ModuleListÚrangerV   r]   Úlayers©r7   r8   Ú_r:   s   && €r;   r)   Ú-Data2VecAudioPositionalConvEmbedding.__init__x   sF   ø€ Ü‰ÑÔÜ—m’mÜ?DÀV×EcÑEcÔ?dÓeÑ?d¸!Ô-¨fÖ5Ñ?dÑeó
ˆŽùÚes   ·Ac                ó„   € VP                  ^^4      pV P                   F  pV! V4      pK  	  VP                  ^^4      pV# rg   )rB   rp   )r7   rD   Úlayers   && r;   rE   Ú,Data2VecAudioPositionalConvEmbedding.forward~   sD   € Ø%×/Ñ/°°1Ó5ˆØ—[”[ˆEÙ! -Ó0ŠMñ !à%×/Ñ/°°1Ó5ˆØÐr=   )rp   rH   rP   s   @@r;   rk   rk   w   s   ù‡ € õ
÷ò r=   rk   c                   óB   a a€ ] tR t^†t oRtV 3R ltR tR tRtVt	V ;t
# )ÚData2VecAudioFeatureEncoderz.Construct the features from raw audio waveformc           
     óÚ   <€ \         SV `  4        \        P                  ! \	        VP
                  4       Uu. uF  p\        WR 7      NK  	  up4      V n        RV n        RV n	        R# u upi ))r9   FTN)
r(   r)   r   rn   ro   Únum_feat_extract_layersr!   Úconv_layersÚgradient_checkpointingÚ_requires_grad)r7   r8   Úir:   s   && €r;   r)   Ú$Data2VecAudioFeatureEncoder.__init__‰   s\   ø€ Ü‰ÑÔÜŸ=š=ÜAFÀv×GeÑGeÔAfÓgÑAf¸AÔ# F×7ÑAfÑgó
ˆÔð ',ˆÔ#Ø"ˆÖùò hs   ·A(c                óP   € V P                  4        F
  pR Vn        K  	  R V n        R# )FN)Ú
parametersÚrequires_gradr}   ©r7   Úparams   & r;   Ú_freeze_parametersÚ.Data2VecAudioFeatureEncoder._freeze_parameters‘   s#   € Ø—_‘_Ö&ˆEØ"'ˆEÖñ 'à#ˆÖr=   c                ó¤   € VR,          pV P                   '       d   V P                  '       d   RVn        V P                   F  pV! V4      pK  	  V# )rY   T©rY   N)r}   Útrainingr‚   r{   )r7   Úinput_valuesrD   Ú
conv_layers   &&  r;   rE   Ú#Data2VecAudioFeatureEncoder.forward–   sL   € Ø$ WÕ-ˆð ××Ð 4§=§= =Ø*.ˆMÔ'à×*Ô*ˆJÙ& }Ó5ŠMñ +ð Ðr=   )r}   r{   r|   )rI   rJ   rK   rL   Ú__doc__r)   r…   rE   rM   rN   rO   rP   s   @@r;   rx   rx   †   s   ù‡ € Ù8õ#ò$÷

ò 
r=   rx   c                   ó8   a a€ ] tR t^£t oV 3R ltR tRtVtV ;t# )ÚData2VecAudioFeatureProjectionc                óL  <€ \         SV `  4        \        P                  ! VP                  R,          VP
                  R7      V n        \        P                  ! VP                  R,          VP                  4      V n	        \        P                  ! VP                  4      V n        R# )rh   ©ÚepsNrA   )r(   r)   r   r2   r*   Úlayer_norm_epsr3   ÚLinearra   Ú
projectionÚDropoutÚfeat_proj_dropoutÚdropoutrd   s   &&€r;   r)   Ú'Data2VecAudioFeatureProjection.__init__¤   sf   ø€ Ü‰ÑÔÜŸ,š, v§¡°rÕ':À×@UÑ@UÔVˆŒÜŸ)š) F§O¡O°BÕ$7¸×9KÑ9KÓLˆŒÜ—z’z &×":Ñ":Ó;ˆŽr=   c                ón   € V P                  V4      pV P                  V4      pV P                  V4      pW3# rm   )r3   r•   r˜   )r7   rD   Únorm_hidden_statess   && r;   rE   Ú&Data2VecAudioFeatureProjection.forwardª   s7   € à!Ÿ_™_¨]Ó;ÐØŸ™Ð(:Ó;ˆØŸ™ ]Ó3ˆØÐ0Ð0r=   )r˜   r3   r•   rH   rP   s   @@r;   r�   r�   £   s   ù‡ € õ<÷1ò 1r=   r�   c                ó  € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R,          R\        R	\
        \        ,          /# )
r?   ÚmoduleÚqueryÚkeyÚvalueÚattention_maskNÚscalingr˜   Úkwargs)r   ÚModuleÚtorchÚTensorÚfloatr   r   )Úformats   "r;   Ú__annotate__rª   ²   s{   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô �T�\ð%ô ð%ô Ô'Õ(ñ%r=   c                 ó¶  € Vf   VP                  R4      R,          p\        P                  ! WP                  ^^4      4      V,          pVe	   W„,           p\        P
                  P                  VRR7      p\        P
                  P                  W†V P                  R7      p\        P                  ! Wƒ4      p	V	P                  ^^4      P                  4       p	W˜3# )N©Údim)Úpr‰   rA   ç      à¿)
Úsizer¦   ÚmatmulrB   r   Ú
functionalÚsoftmaxr˜   r‰   Ú
contiguous)
rž   rŸ   r    r¡   r¢   r£   r˜   r¤   Úattn_weightsÚattn_outputs
   &&&&&&&,  r;   Úeager_attention_forwardr·   ²   s±   € ð ‚Ø—*‘*˜R“. DÕ(ˆô —<’< §}¡}°Q¸Ó':Ó;¸gÕE€LàÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2Ð(Ó>€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€Lä—,’,˜|Ó3€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r=   c                   ó\   a a€ ] tR t^Ît oRtRV3R lV 3R llltRV3R lR lltRtVtV ;t	# )	ÚData2VecAudioAttentionz=Multi-headed attention from 'Attention Is All You Need' paperc                óR   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[RS[RS[R,          /# )	r?   Ú	embed_dimÚ	num_headsr˜   Ú
is_decoderr%   Ú	is_causalr8   N)Úintr¨   Úboolr   )r©   rQ   s   "€r;   rª   Ú#Data2VecAudioAttention.__annotate__Ñ   s_   ø€ ÷ Cñ CáðCñ ðCñ ð	Cñ
 ðCñ ðCñ ðCñ $ dÕ*ñCr=   c                ó  <€ \         SV `  4        Wn        W n        W0n        W,          V n        Wpn        V P
                  V,          V P                  8w  d   \        R V P                   RV R24      hV P
                  R,          V n        W@n	        W`n
        \        P                  ! WVR7      V n        \        P                  ! WVR7      V n        \        P                  ! WVR7      V n        \        P                  ! WVR7      V n        R# )z;embed_dim must be divisible by num_heads (got `embed_dim`: z and `num_heads`: z).)r%   Nr¯   )r(   r)   r»   r¼   r˜   Úhead_dimr8   Ú
ValueErrorr£   r½   r¾   r   r”   Úk_projÚv_projÚq_projÚout_proj)	r7   r»   r¼   r˜   r½   r%   r¾   r8   r:   s	   &&&&&&&&€r;   r)   ÚData2VecAudioAttention.__init__Ñ   sÎ   ø€ ô 	‰ÑÔØ"ŒØ"ŒØŒØ!Õ.ˆŒØŒà�M‰M˜IÕ%¨$¯.©.Ô8ÜØMÈdÏnÉnÐM]Ø$ Y K¨rð3óð ð —}‘} dÕ*ˆŒØ$ŒØ"Œä—i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜ—i’i 	¸4Ô@ˆŒÜŸ	š	 )¸TÔBˆŽr=   c                ó   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  R,          3,          /# )r?   rD   Úkey_value_statesNr¢   Úoutput_attentionsr¤   Úreturn)r¦   r§   rÀ   r   r   Útuple)r©   rQ   s   "€r;   rª   rÁ   ð   s~   ø€ ÷ 0)ñ 0)á—|‘|ð0)ñ  Ÿ,™,¨Õ-ð0)ñ Ÿ™ tÕ+ð	0)ñ
   $�;ð0)ñ Ñ-Õ.ð0)ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ0)r=   c           	     ó  € VRJpVP                   RR p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      p	V'       d   TMTp
. V
P                   RR ORNV P                  N5pV P                  V
4      P                  V4      P	                  ^^4      pV P                  V
4      P                  V4      P	                  ^^4      p\        P                  ! V P                  P                  \        4      pT! V V	VVV3RV P                  '       g   RMV P                  RV P                  RV/VB w  ppVP                  ! . VORN5!  P!                  4       pV P#                  V4      pVV3# )z#Input shape: Batch x Time x ChannelNr˜   ç        r£   rÌ   rA   )ÚshaperÃ   rÇ   ÚviewrB   rÅ   rÆ   r   Úget_interfacer8   Ú_attn_implementationr·   r‰   r˜   r£   Úreshaper´   rÈ   )r7   rD   rË   r¢   rÌ   r¤   Úis_cross_attentionÚinput_shapeÚhidden_shapeÚquery_statesÚcurrent_statesÚkv_shapeÚ
key_statesÚvalue_statesÚattention_interfacer¶   rµ   s   &&&&&,           r;   rE   ÚData2VecAudioAttention.forwardð   s–  € ð .°TÐ9Ðð $×)Ñ)¨#¨2Ð.ˆà8˜Ð8 bÐ8¨$¯-©-Ñ8ˆð —{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆç-?Ñ)À]ˆØB�^×)Ñ)¨#¨2Ð.ÐB°ÐB°D·M±MÑBˆØ—[‘[ Ó0×5Ñ5°hÓ?×IÑIÈ!ÈQÓOˆ
Ø—{‘{ >Ó2×7Ñ7¸ÓA×KÑKÈAÈqÓQˆä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ
%
ð  $Ÿ}Ÿ}˜}‘C°$·,±,ð
%
ð —L‘Lð
%
ð 0ð
%
ð ñ
%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—m‘m KÓ0ˆà˜LÐ(Ð(r=   )r8   r˜   r»   rÃ   r¾   r½   rÅ   r¼   rÈ   rÇ   r£   rÆ   )rÐ   FTFN)NNF)
rI   rJ   rK   rL   r�   r)   rE   rM   rN   rO   rP   s   @@r;   r¹   r¹   Î   s#   ù‡ € ÙG÷Cõ C÷>0)÷ 0)ò 0)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# )ÚData2VecAudioFeedForwardi#  c                ó  <€ \         SV `  4        \        P                  ! VP                  4      V n        \        P                  ! VP                  VP                  4      V n	        \        VP                  \        4      '       d   \        VP                  ,          V n        MVP                  V n        \        P                  ! VP                  VP                  4      V n        \        P                  ! VP                   4      V n        R # rm   )r(   r)   r   r–   Úactivation_dropoutÚintermediate_dropoutr”   ra   Úintermediate_sizeÚintermediate_denseÚ
isinstanceÚ
hidden_actÚstrr   Úintermediate_act_fnÚoutput_denseÚhidden_dropoutÚoutput_dropoutrd   s   &&€r;   r)   Ú!Data2VecAudioFeedForward.__init__$  s®   ø€ Ü‰ÑÔÜ$&§J¢J¨v×/HÑ/HÓ$IˆÔ!ä"$§)¢)¨F×,>Ñ,>À×@XÑ@XÓ"YˆÔÜ�f×'Ñ'¬×-Ò-Ü'-¨f×.?Ñ.?Õ'@ˆDÕ$à'-×'8Ñ'8ˆDÔ$äŸIšI f×&>Ñ&>À×@RÑ@RÓSˆÔÜ Ÿjšj¨×)>Ñ)>Ó?ˆÖr=   c                ó°   € V P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      pV P	                  V4      pV# rm   )ræ   rê   rä   rë   rí   rC   s   &&r;   rE   Ú Data2VecAudioFeedForward.forward1  sX   € Ø×/Ñ/°Ó>ˆØ×0Ñ0°Ó?ˆØ×1Ñ1°-Ó@ˆà×)Ñ)¨-Ó8ˆØ×+Ñ+¨MÓ:ˆØÐr=   )rê   ræ   rä   rë   rí   rH   rP   s   @@r;   rá   rá   #  s   ù‡ € õ@÷ò r=   rá   c                   óH   a a€ ] tR tRt oV 3R ltRV3R lR lltRtVtV ;t# )ÚData2VecAudioEncoderLayeri;  c                ó¸  <€ \         SV `  4        \        VP                  VP                  VP
                  R VR7      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# )F)r»   r¼   r˜   r½   r8   r‘   N)r(   r)   r¹   ra   Únum_attention_headsÚattention_dropoutÚ	attentionr   r–   rì   r˜   r2   r“   r3   rá   Úfeed_forwardÚfinal_layer_normrd   s   &&€r;   r)   Ú"Data2VecAudioEncoderLayer.__init__<  s�   ø€ Ü‰ÑÔÜ/Ø×(Ñ(Ø×0Ñ0Ø×,Ñ,ØØô
ˆŒô —z’z &×"7Ñ"7Ó8ˆŒÜŸ,š, v×'9Ñ'9¸v×?TÑ?TÔUˆŒÜ4°VÓ<ˆÔÜ "§¢¨V×-?Ñ-?ÀV×EZÑEZÔ [ˆÖr=   c                ór   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          /# ©r?   rD   r¢   Nr¤   )r¦   r§   r   r   )r©   rQ   s   "€r;   rª   Ú&Data2VecAudioEncoderLayer.__annotate__K  s<   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ Ñ+Õ,ñ	r=   c                óÜ   € TpV P                   ! V3R V/VB w  rV P                  V4      pWA,           pV P                  V4      pWP                  V4      ,           pV P	                  V4      pV# )r¢   )rö   r˜   r3   r÷   rø   )r7   rD   r¢   r¤   Úattn_residualrr   s   &&&,  r;   rE   Ú!Data2VecAudioEncoderLayer.forwardK  sr   € ð &ˆØŸ>š>¨-ÑaÈÐaÐZ`ÑaÑˆØŸ™ ]Ó3ˆØ%Õ5ˆàŸ™¨Ó6ˆØ%×(9Ñ(9¸-Ó(HÕHˆØ×-Ñ-¨mÓ<ˆàÐr=   )rö   r˜   r÷   rø   r3   rm   rH   rP   s   @@r;   rò   rò   ;  s   ù‡ € õ\÷÷ ò r=   rò   c                   óH   a a€ ] tR tRt oV 3R ltRV3R lR lltRtVtV ;t# )ÚData2VecAudioEncoderi]  c                ó¢  <€ \         SV `  4        Wn        \        V4      V n        \
        P                  ! VP                  VP                  R 7      V n	        \
        P                  ! VP                  4      V n        \
        P                  ! \        VP                  4       Uu. uF  p\!        V4      NK  	  up4      V n        RV n        R# u upi )r‘   FN)r(   r)   r8   rk   Úpos_conv_embedr   r2   ra   r“   r3   r–   rì   r˜   rn   ro   Únum_hidden_layersrò   rp   r|   rq   s   && €r;   r)   ÚData2VecAudioEncoder.__init__^  s–   ø€ Ü‰ÑÔØŒÜBÀ6ÓJˆÔÜŸ,š, v×'9Ñ'9¸v×?TÑ?TÔUˆŒÜ—z’z &×"7Ñ"7Ó8ˆŒÜ—m’mÔPUÐV\×VnÑVnÔPoÓ$pÑPoÈ1Ô%>¸vÖ%FÑPoÑ$pÓqˆŒØ&+ˆÖ#ùò %qs   Â#Cc                ór   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          /# rû   )r¦   Útensorr§   r   r   )r©   rQ   s   "€r;   rª   Ú!Data2VecAudioEncoder.__annotate__g  sA   ø€ ÷ !@ñ !@á—|‘|ð!@ñ Ÿ™ tÕ+ð!@ñ Ñ+Õ,ñ	!@r=   c                óˆ  € Ve9   VP                  R4      P                  ^^VP                  ^,          4      p^ W( &   \        V P                  VVR7      pV P                  V4      pWP                  VP                  4      ,           pV P                  V4      pV P                  V4      p\        4       ;'       g    \        V 4      pV P                   Fb  p\        P                  ! . 4      pV P                  ;'       d    W€P                  P                   8  p	V	'       d   V'       g   KW  V! V3RV/VB pKd  	  \#        VR7      # )N)r8   Úinputs_embedsr¢   r¢   )Úlast_hidden_staterA   )Ú	unsqueezeÚrepeatrÑ   r   r8   r  ÚtoÚdevicer3   r˜   r	   r
   rp   r¦   Úrandr‰   Ú	layerdropr   )
r7   rD   r¢   r¤   Úexpand_attention_maskÚposition_embeddingsÚsynced_gpusru   Údropout_probabilityÚskip_the_layers
   &&&,      r;   rE   ÚData2VecAudioEncoder.forwardg  s  € ð Ò%à$2×$<Ñ$<¸RÓ$@×$GÑ$GÈÈ1Èm×NaÑNaÐbcÕNdÓ$eÐ!Ø45ˆMÐ0Ñ1ä2Ø—;‘;Ø'Ø)ô
ˆð #×1Ñ1°-Ó@ÐØ%×(>Ñ(>¸}×?SÑ?SÓ(TÕTˆØŸ™¨Ó6ˆØŸ™ ]Ó3ˆä0Ó2×RÐRÔ6LÈTÓ6Rˆà—[”[ˆEä"'§*¢*¨R£.Ðà!Ÿ]™]×ZÐZÐ/BÇ[Á[×EZÑEZÑ/ZˆNß!§[¡[á % mÑ ]ÀNÐ ]ÐV\Ñ ]’ñ !ô °Ô?Ð?r=   )r8   r˜   r|   r3   rp   r  rm   rH   rP   s   @@r;   r  r  ]  s   ù‡ € õ,÷!@÷ !@ò !@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# )ÚData2VecAudioAdapterLayeri‹  c                óÂ   <€ \         SV `  4        \        P                  ! VP                  ^VP                  ,          VP
                  VP                  ^R7      V n        R# )r?   )r$   r_   N)r(   r)   r   r-   Úoutput_hidden_sizeÚadapter_kernel_sizeÚadapter_strider1   rd   s   &&€r;   r)   Ú"Data2VecAudioAdapterLayer.__init__Œ  sJ   ø€ Ü‰ÑÔÜ—I’IØ×%Ñ%Ø�×)Ñ)Õ)Ø×&Ñ&Ø×(Ñ(Øô
ˆŽ	r=   c                ój   € V P                  V4      p\        P                  P                  V^R7      pV# )rh   r¬   )r1   r   r²   ÚglurC   s   &&r;   rE   Ú!Data2VecAudioAdapterLayer.forward–  s/   € ØŸ	™	 -Ó0ˆÜŸ™×)Ñ)¨-¸QÐ)Ó?ˆàÐr=   )r1   rH   rP   s   @@r;   r  r  ‹  s   ù‡ € õ
÷ò 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# )ÚData2VecAudioAdapteri�  c                ó¶  <a€ \         SV `  4        SP                  SP                  8w  dW   \        P
                  ! SP                  SP                  4      V n        \        P                  ! SP                  4      V n        MR ;V n        V n        \        P                  ! V3R l\        SP                  4       4       4      V n        SP                  V n        R # )Nc              3   ó:   <"  € T F  p\        S4      x € K  	  R # 5irm   )r  )Ú.0rr   r8   s   & €r;   Ú	<genexpr>Ú0Data2VecAudioAdapter.__init__.<locals>.<genexpr>¨  s   øé € Ð#pÑOoÈ!Ô$=¸f×$EÐ$EÓOoùs   ƒ)r(   r)   r  ra   r   r”   Úprojr2   Úproj_layer_normrn   ro   Únum_adapter_layersrp   r  rd   s   &f€r;   r)   ÚData2VecAudioAdapter.__init__ž  s—   ù€ Ü‰ÑÔð ×$Ñ$¨×(:Ñ(:Ô:ÜŸ	š	 &×"4Ñ"4°f×6OÑ6OÓPˆDŒIÜ#%§<¢<°×0IÑ0IÓ#JˆDÕ à/3Ð3ˆDŒI˜Ô,ä—m’mÔ#pÌuÐU[×UnÑUnÔOoÓ#pÓpˆŒØ×)Ñ)ˆŽr=   c                ó„  € V P                   e1   V P                  e#   V P                  V4      pV P                  V4      pVP                  ^^4      pV P                   FM  p\        P
                  P                  4       pV P                  '       d   W0P                  8”  g   KE  V! V4      pKO  	  VP                  ^^4      pV# rm   )r)  r*  rB   rp   ÚnpÚrandomr‰   r  )r7   rD   ru   Úlayerdrop_probs   &&  r;   rE   ÚData2VecAudioAdapter.forward«  s�   € à�9‰9Ò  T×%9Ñ%9Ò%EØ ŸI™I mÓ4ˆMØ ×0Ñ0°Ó?ˆMà%×/Ñ/°°1Ó5ˆà—[”[ˆEÜŸY™Y×-Ñ-Ó/ˆNØ—=—=�= ^·n±nÖ%DÙ % mÓ 4’ñ !ð
 &×/Ñ/°°1Ó5ˆØÐr=   )r  rp   r)  r*  rH   rP   s   @@r;   r#  r#  �  s   ù‡ € õ*÷ò r=   r#  c            	       óÌ   a a€ ] tR tRt oRtRtRtRtRtRt	Rt
R]R]! ]^RR	7      /t]P                   ! 4       V 3R
 l4       tRV3R lR lltRV3R lR lltV3R ltRtVtV ;t# )ÚData2VecAudioPreTrainedModeli¼  Údata2vec_audiorŠ   ÚaudioTrD   Ú
attentionsÚencoder)ÚindexÚ
layer_namec                ót  <€ \         SV `  V4       \        V\        4      '       d�   \        P
                  ! ^VP                  P                  ,          4      p\        P                  ! VP                  P                  V) VR7       \        P                  ! VP                  P                  V) VR7       R# \        V\        4      '       d.   \        P                  ! VP                  P                  ^ 4       R# \        V\        P                   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# R# )zInitialize the weights)ÚaÚbN)r(   Ú_init_weightsrç   r�   ÚmathÚsqrtr•   Úin_featuresÚinitÚuniform_Úweightr%   r]   Ú	constant_r1   r   r-   Úkaiming_normal_r`   Úin_channelsr#   )r7   rž   Úkr:   s   && €r;   r=  Ú*Data2VecAudioPreTrainedModel._init_weightsË  s  ø€ ô 	‰Ñ˜fÔ%Ü�fÔ<×=Ò=Ü—	’	˜!˜f×/Ñ/×;Ñ;Õ;Ó<ˆAÜ�MŠM˜&×+Ñ+×2Ñ2°q°b¸AÕ>Ü�MŠM˜&×+Ñ+×0Ñ0°Q°B¸!×<Ü˜Ô @×AÒAÜ�NŠN˜6Ÿ;™;×+Ñ+¨QÖ/Ü˜¤§	¡	×*Ò*Ü× Ò  §¡Ô/à�{‰{Ò&Ü—I’I˜fŸm™m¨v×/AÑ/AÀF×DVÑDVÐWXÕDYÕ/YÕZÓ[�Ü—’˜fŸk™k¨a¨R°1×5ñ 'ñ +r=   c                óX   <€ V ^8„  d   QhRS[ P                  S[,          RS[R,          /# )r?   Úinput_lengthsÚadd_adapterN)r¦   Ú
LongTensorr¿   rÀ   )r©   rQ   s   "€r;   rª   Ú)Data2VecAudioPreTrainedModel.__annotate__Ü  s.   ø€ ÷ ñ ¹e×>NÑ>NÑQTÕ>Tð ÑcgÐjnÕcnñ r=   c                óh  € Vf   V P                   P                  MTpR p\        V P                   P                  V P                   P                  4       F  w  rEV! WV4      pK  	  V'       dE   \        V P                   P                  4       F!  pV! V^V P                   P                  4      pK#  	  V# )z8
Computes the output length of the convolutional layers
c                 óN   € \         P                  ! W,
          VR R7      ^,           # )Úfloor)Úrounding_mode)r¦   Údiv©Úinput_lengthr#   r$   s   &&&r;   Ú_conv_out_lengthÚWData2VecAudioPreTrainedModel._get_feat_extract_output_lengths.<locals>._conv_out_lengthã  s    € ô —9’9˜\Õ7¸ÈwÔWÐZ[Õ[Ð[r=   )r8   rK  Úzipr.   r/   ro   r+  r  )r7   rJ  rK  rU  r#   r$   rr   s   &&&    r;   Ú _get_feat_extract_output_lengthsÚ=Data2VecAudioPreTrainedModel._get_feat_extract_output_lengthsÜ  s•   € ð
 2=Ò1D�d—k‘k×-Ò-È+ˆò	\ô
 $' t§{¡{×'>Ñ'>ÀÇÁ×@WÑ@WÖ#XÑˆKÙ,¨]ÈÓPŠMñ $Y÷ Ü˜4Ÿ;™;×9Ñ9Ö:�Ù 0°ÀÀ4Ç;Á;×C]ÑC]Ó ^’ñ ;ð Ðr=   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r?   Úfeature_vector_lengthr¢   )r¿   r¦   rL  )r©   rQ   s   "€r;   rª   rM  ñ  s#   ø€ ÷ ñ Ù%(ðÙ:?×:JÑ:Jñr=   c                ó  € VP                  RR7      R,          pV P                  WCR7      pVP                  \        P                  4      pVP
                  ^ ,          p\        P                  ! Wa3VP                  VP                  R7      p^V\        P                  ! VP
                  ^ ,          VP                  R7      V^,
          3&   VP                  R.4      P                  R4      P                  R.4      P                  4       pV# )rh   r¬   ©rK  )Údtyper  )r  rA   )rY   rA   )ÚcumsumrX  r  r¦   ÚlongrÑ   Úzerosr^  r  ÚarangeÚfliprÀ   )r7   r[  r¢   rK  Únon_padded_lengthsÚoutput_lengthsÚ
batch_sizes   &&&&   r;   Ú"_get_feature_vector_attention_maskÚ?Data2VecAudioPreTrainedModel._get_feature_vector_attention_maskñ  sé   € ð
 ,×2Ñ2°rÐ2Ó:¸5ÕAÐà×>Ñ>Ð?QÐ>ÓkˆØ'×*Ñ*¬5¯:©:Ó6ˆà#×)Ñ)¨!Õ,ˆ
äŸšØÐ/°~×7KÑ7KÐTb×TiÑTiô
ˆð uvˆœŸš ^×%9Ñ%9¸!Õ%<À^×EZÑEZÔ[Ð]kÐnoÕ]oÐpÑqØ'×,Ñ,¨b¨TÓ2×9Ñ9¸"Ó=×BÑBÀBÀ4ÓH×MÑMÓOˆØÐr=   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r?   r8   r   )r©   rQ   s   "€r;   rª   rM  ¼  s   ø‡ ‚ áÑò r=   © rm   )rI   rJ   rK   rL   Úbase_model_prefixÚmain_input_nameÚinput_modalitiesÚsupports_gradient_checkpointingÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnrò   r   r¹   Ú_can_record_outputsr¦   Úno_gradr=  rX  rg  Ú__annotate_func__rM   rN   rO   rP   s   @@r;   r3  r3  ¼  sƒ   ù‡ € ð )ÐØ$€OØÐØ&*Ð#ØÐØ€NØÐàÐ2Ø‘nÐ%;À1ÐQZÔ[ðÐð
 ‡]‚]ƒ_ô6ó ð6÷ ò ÷*ò ÷k … r=   r3  c                ó¸   € V ^8„  d   QhR\         \        \        3,          R\        R\        R\        P                  R,          R\        R\
        P                  /# )r?   rÑ   Ú	mask_probÚmask_lengthr¢   NÚ	min_masksrÍ   )rÎ   r¿   r¨   r¦   rL  r.  Úndarray)r©   s   "r;   rª   rª     sc   € ÷ tñ tÜ””c��?ðtäðtô ðtô ×$Ñ$ tÕ+ð	tô
 ðtô ‡Z�Zñtr=   c           	     ó^  aaaaa€ V w  poS^8  d   \        R4      hSS8”  d   \        RS RS R24      h\        P                  P                  ^4      P	                  4       oVVVVV3R lpVe.   VP                  4       P                  R	4      P                  4       M\        V4       Uu. uF  pSNK  	  upp\        P                  ! VS3\        R7      p	. p
V! S4      pV^ 8X  d   V	# V FÌ  pV! V4      p\        P                  P                  \        P                  ! VS^,
          ,
          4      VRR7      p\        V4      ^ 8X  d   S^,
          pM	V^ ,          p\        P                  ! V\        P                  ! W½,
          \        P                   R7      V,          .4      pV
P#                  V4       KÎ  	  \        P$                  ! V
4      p
\        P&                  ! V
R
,          W[S34      p
V
P)                  W[S,          4      p
\        P                  ! S4      R,          p\        P&                  ! VW[S34      P)                  W[S,          4      pV
V,           p
V
P+                  4       S^,
          8”  d   S^,
          WªS^,
          8„  &   \        P,                  ! Wš^R	4       V	# u upi )a2  
Computes random mask spans for a given shape. Used to implement [SpecAugment: A Simple Data Augmentation Method for
ASR](https://huggingface.co/papers/1904.08779). Note that this method is not optimized to run on TPU and should be run on
CPU as part of the preprocessing during training.

Args:
    shape: The shape for which to compute masks. This should be of a tuple of size 2 where
           the first element is the batch size and the second element is the length of the axis to span.
    mask_prob:  The percentage of the whole axis (between 0 and 1) which will be masked. The number of
                independently generated mask spans of length `mask_length` is computed by
                `mask_prob*shape[1]/mask_length`. Note that due to overlaps, `mask_prob` is an upper bound and the
                actual percentage will be smaller.
    mask_length: size of the mask
    min_masks: minimum number of masked spans
    attention_mask: A (right-padded) attention mask which independently shortens the feature axis of
                    each batch dimension.
z&`mask_length` has to be bigger than 0.zO`mask_length` has to be smaller than `sequence_length`, but got `mask_length`: z and `sequence_length`: Ú`c                óì   <€ \        SV ,          S,          S,           4      p\        VS4      pVS,          S8”  d
   SS,          pV S^,
          ,
          V8  d   \        V S^,
          ,
          ^ 4      pV# )z;Given input length, compute how many spans should be masked)r¿   Úmax)rT  Únum_masked_spanÚepsilonrx  rw  ry  Úsequence_lengths   & €€€€€r;   Úcompute_num_masked_spanÚ6_compute_mask_indices.<locals>.compute_num_masked_span,  so   ø€ ä˜i¨,Õ6¸ÕDÀwÕNÓOˆÜ˜o¨yÓ9ˆð ˜[Õ(¨?Ô:Ø-°Õ<ˆOð ˜;¨�?Õ+¨oÔ=Ü! ,°+Àµ/Õ"BÀAÓFˆOàÐr=   ©r^  F)ÚreplacerA   )rY   rY   N)NNrY   )rÄ   r.  r/  r  ÚitemÚdetachÚsumÚtolistro   ra  rÀ   Úchoicerb  ÚlenÚconcatenateÚonesÚint32ÚappendÚarrayÚbroadcast_torÕ   r~  Úput_along_axis)rÑ   rw  rx  r¢   ry  rf  r‚  rr   rJ  Úspec_aug_maskÚspec_aug_mask_idxsÚmax_num_masked_spanrT  r  Úspec_aug_mask_idxÚdummy_mask_idxÚoffsetsr€  r�  s   &ff&f            @@r;   Ú_compute_mask_indicesr™    sŽ  ü€ ð0 #(Ñ€J�à�Q„ÜÐAÓBÐBà�_Ô$ÜØ]Ð^iÐ]jØ& Ð&7°qð:ó
ð 	
ô �i‰i�n‰n˜QÓ×$Ñ$Ó&€G÷ñ ð$ Ò%ð 	×ÑÓ×#Ñ# BÓ'×.Ñ.Ô0ä',¨ZÔ'8Ó9Ñ'8 !‹oÑ'8Ñ9ð ô —H’H˜j¨/Ð:Ä$ÔG€MØÐá1°/ÓBÐà˜aÔØÐã%ˆá1°,Ó?ˆô ŸI™I×,Ñ,Ü�IŠI�l k°A¥oÕ6Ó7¸ÐRWð -ó 
Ðô Ð Ó! QÔ&ð -¨qÕ0‰Nà.¨qÕ1ˆNäŸNšNØ¤§¢Ð(;Õ(MÔUW×U]ÑU]Ô ^ÐaoÕ oÐpó
Ðð 	×!Ñ!Ð"3Ö4ñ/ &ô2 ŸšÐ"4Ó5Ðô ŸšØ˜:Õ&¨È+Ð(VóÐð ,×3Ñ3°JÐVaÕ@aÓbÐô �iŠi˜Ó$ ]Õ3€GÜ�oŠo˜g¨
ÈÐ'UÓV×^Ñ^Ø¨+Õ5ó€Gð ,¨gÕ5Ðð ×ÑÓ /°AÕ"5Ô5ØGVÐYZÕGZÐ°À!Õ0CÑCÑDô ×Ò�m¸¸BÔ?àÐùòw :s   Â+J*c                   óœ   a a€ ] tR tRt oV3R lV 3R lltR tRV3R lR llt]]! RR7      ]	RV3R	 lR
 ll4       4       4       t
RtVtV ;t# )ÚData2VecAudioModeli€  c                ó    <€ V ^8„  d   QhRS[ /# rj  r   )r©   rQ   s   "€r;   rª   ÚData2VecAudioModel.__annotate__‚  s   ø€ ÷ ñ Ñ2ñ r=   c                óÌ  <€ \         SV `  V4       Wn        \        V4      V n        \        V4      V n        VP                  R 8”  g   VP                  R 8”  dH   \        P                  ! \        P                  ! VP                  4      P                  4       4      V n        \!        V4      V n        VP$                  '       d   \'        V4      MRV n        V P+                  4        R# )rÐ   N)r(   r)   r8   rx   Úfeature_extractorr�   Úfeature_projectionÚmask_time_probÚmask_feature_probr   Ú	Parameterr¦   r§   ra   rB  Úmasked_spec_embedr  r7  rK  r#  ÚadapterÚ	post_initrd   s   &&€r;   r)   ÚData2VecAudioModel.__init__‚  s§   ø€ Ü‰Ñ˜Ô ØŒÜ!<¸VÓ!DˆÔÜ"@ÀÓ"HˆÔð × Ñ  3Ô&¨&×*BÑ*BÀSÔ*HÜ%'§\¢\´%·,²,¸v×?QÑ?QÓ2R×2[Ñ2[Ó2]Ó%^ˆDÔ"ä+¨FÓ3ˆŒà7=×7I×7IÐ7IÔ+¨FÔ3ÈtˆŒð 	�‰Ör=   c                ó:   € V P                   P                  4        R# ©z�
Calling this function will disable the gradient computation for the feature encoder so that its parameter will
not be updated during training.
N)rŸ  r…   ©r7   s   &r;   Úfreeze_feature_encoderÚ)Data2VecAudioModel.freeze_feature_encoder“  s   € ð
 	×Ñ×1Ñ1Ö3r=   c                ó„   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          /# )r?   rD   Úmask_time_indicesNr¢   )r¦   ÚFloatTensorrL  )r©   rQ   s   "€r;   rª   r�  š  sE   ø€ ÷ ,ñ ,á×(Ñ(ð,ñ !×,Ñ,¨tÕ3ð,ñ ×(Ñ(¨4Õ/ñ	,r=   c                óò  € \        V P                  RR4      '       g   V# VP                  4       w  rEpVe)   V P                  P	                  VP
                  4      W&   MÑV P                  P                  ^ 8”  d·   V P                  '       d¥   \        WE3V P                  P                  V P                  P                  VV P                  P                  R7      p\        P                  ! W!P                  \        P                  R7      pV P                  P	                  VP
                  4      W&   V P                  P                  ^ 8”  d­   V P                  '       d›   \        WF3V P                  P                  V P                  P                   V P                  P"                  R7      p\        P                  ! WqP                  \        P                  R7      pVR,          P%                  RVR4      p^ W&   V# )zŠ
Masks extracted features along time axis and/or along feature axis according to
[SpecAugment](https://huggingface.co/papers/1904.08779).
Úapply_spec_augmentT)rw  rx  r¢   ry  )r  r^  )rw  rx  ry  rˆ   rA   )Úgetattrr8   r°   r¤  r  r^  r¡  r‰   r™  Úmask_time_lengthÚmask_time_min_masksr¦   r  r  rÀ   r¢  Úmask_feature_lengthÚmask_feature_min_masksÚexpand)r7   rD   r®  r¢   rf  r�  ra   Úmask_feature_indicess   &&&&    r;   Ú_mask_hidden_statesÚ&Data2VecAudioModel._mask_hidden_statesš  sŠ  € ô �t—{‘{Ð$8¸$×?Ò?Ø Ð ð 4A×3EÑ3EÓ3GÑ0ˆ
 [àÒ(à/3×/EÑ/E×/HÑ/HÈ×I\ÑI\Ó/]ˆMÒ,Ø�[‰[×'Ñ'¨!Ô+°··°Ü 5ØÐ-ØŸ+™+×4Ñ4Ø ŸK™K×8Ñ8Ø-ØŸ+™+×9Ñ9ô!Ðô !&§¢Ð->×G[ÑG[Ôch×cmÑcmÔ nÐØ/3×/EÑ/E×/HÑ/HÈ×I\ÑI\Ó/]ˆMÑ,à�;‰;×(Ñ(¨1Ô,°··°ä#8ØÐ)ØŸ+™+×7Ñ7Ø ŸK™K×;Ñ;ØŸ+™+×<Ñ<ô	$Ð ô $)§<¢<Ð0D×MaÑMaÔin×isÑisÔ#tÐ Ø#7¸Õ#@×#GÑ#GÈÈOÐ]_Ó#`Ð Ø23ˆMÑ/àÐr=   F)Útie_last_hidden_statesc                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# )r?   rŠ   Nr¢   r®  r¤   rÍ   )r¦   r§   r¯  r   r   rÎ   ÚData2VecAudioBaseModelOutput)r©   rQ   s   "€r;   rª   r�  Ë  sf   ø€ ÷ (
ñ (
á—l‘l TÕ)ð(
ñ Ÿ™ tÕ+ð(
ñ !×,Ñ,¨tÕ3ð	(
ñ
 Ñ+Õ,ð(
ñ 
Ñ-Õ	-ñ(
r=   c                ó€  € V P                  V4      pVP                  ^^4      pVe&   V P                  VP                  ^,          VRR7      pV P	                  V4      w  reV P                  WcVR7      pV P                  ! V3RV/VB pVP                  pV P                  e   V P                  V4      p\        VVR7      # )a  
mask_time_indices (`torch.BoolTensor` of shape `(batch_size, sequence_length)`, *optional*):
    Indices to mask extracted features for contrastive loss. When in training mode, model learns to predict
    masked extracted features in *config.proj_codevector_dim* space.
Fr]  )r®  r¢   r¢   )r  Úextract_features)
rŸ  rB   rg  rÑ   r   r¹  r7  r  r¥  r½  )r7   rŠ   r¢   r®  r¤   r¿  rD   Úencoder_outputss   &&&&,   r;   rE   ÚData2VecAudioModel.forwardÈ  sã   € ð  ×1Ñ1°,Ó?ÐØ+×5Ñ5°a¸Ó;ÐàÒ%à!×DÑDØ ×&Ñ& qÕ)¨>Àuð Eó ˆNð +/×*AÑ*AÐBRÓ*SÑ'ˆØ×0Ñ0ØÈ~ð 1ó 
ˆð Ÿ,š,Øñ
à)ð
ð ñ
ˆð (×9Ñ9ˆà�<‰<Ò#Ø ŸL™L¨Ó7ˆMä+Ø+Ø-ô
ð 	
r=   )r¥  r8   r7  rŸ  r   r¤  ©NN)rI   rJ   rK   rL   r)   r«  r¹  r   r   r   rE   rM   rN   rO   rP   s   @@r;   r›  r›  €  sR   ù‡ € ÷ó ò"4÷,ò ,ð\  Ù¨EÔ2Ø÷(
ñ (
ó ó 3ó  ÷(
ð (
r=   r›  zu
    Data2VecAudio Model with a `language modeling` head on top for Connectionist Temporal Classification (CTC).
    )Úcustom_introc                   ób   a a€ ] tR tRt oV 3R ltR t]]RV3R lR ll4       4       tRt	Vt
V ;t# )ÚData2VecAudioForCTCiö  c                óÀ  <€ \         SV `  V4       \        V4      V n        \        P
                  ! VP                  4      V n        VP                  f   \        RV P                   R24      h\        VR4      '       d   VP                  '       d   VP                  MVP                  p\        P                  ! W!P                  4      V n        V P#                  4        R# )a2  
config ([`Data2VecAudioForCTC`]):
    Model configuration class with all the parameters of the model. Initializing with a config file does not
    load the weights associated with the model, only the configuration. Check out the
    [`~PreTrainedModel.from_pretrained`]  method to load the model weights.
NzYou are trying to instantiate zü with a configuration that does not define the vocabulary size of the language model head. Please instantiate the model as follows: `Data2VecAudioForCTC.from_pretrained(..., vocab_size=vocab_size)`. or define `vocab_size` of your model's configuration.rK  )r(   r)   r›  r4  r   r–   Úfinal_dropoutr˜   Ú
vocab_sizerÄ   r:   ÚhasattrrK  r  ra   r”   Úlm_headr¦  )r7   r8   r  r:   s   && €r;   r)   ÚData2VecAudioForCTC.__init__ü  s¼   ø€ ô 	‰Ñ˜Ô ä0°Ó8ˆÔÜ—z’z &×"6Ñ"6Ó7ˆŒà×ÑÒ$ÜØ0°·±Ð0@ð AHð Hóð ô *1°¸×)GÒ)GÈF×L^×L^ÐL^ˆF×%Ò%Ðdj×dvÑdvð 	ô —y’yÐ!3×5FÑ5FÓGˆŒð 	�‰Ör=   c                óN   € V P                   P                  P                  4        R# r©  ©r4  rŸ  r…   rª  s   &r;   r«  Ú*Data2VecAudioForCTC.freeze_feature_encoder  ó   € ð
 	×Ñ×-Ñ-×@Ñ@ÖBr=   c                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# ©r?   rŠ   Nr¢   Úlabelsr¤   rÍ   )r¦   r§   r   r   rÎ   r   )r©   rQ   s   "€r;   rª   Ú Data2VecAudioForCTC.__annotate__   sc   ø€ ÷ :
ñ :
á—l‘l TÕ)ð:
ñ Ÿ™ tÕ+ð:
ñ —‘˜tÕ#ð	:
ñ
 Ñ+Õ,ð:
ñ 
‘Õ	ñ:
r=   c                óx  € VeL   VP                  4       V P                  P                  8¼  d#   \        RV P                  P                   24      hV P                  ! V3RV/VB pVP
                  pV P                  V4      pV P                  V4      pRpVEen   Ve   TM%\        P                  ! V\        P                  R7      pV P                  VP                  R
4      4      P                  \        P                  4      p	V^ 8¬  p
V
P                  R
4      pVP                  V
4      p\        P                   P#                  VR
\        P$                  R7      P'                  ^ ^4      p\        P(                  P*                  P-                  RR7      ;_uu_ 4        \        P                   P/                  VVV	VV P                  P0                  V P                  P2                  V P                  P4                  R7      pRRR4       \7        W‡VP8                  VP:                  R	7      #   + '       g   i     L2; i)a°  
labels (`torch.LongTensor` of shape `(batch_size, target_length)`, *optional*):
    Labels for connectionist temporal classification. Note that `target_length` has to be smaller or equal to
    the sequence length of the output logits. Indices are selected in `[-100, 0, ..., config.vocab_size - 1]`.
    All labels set to `-100` are ignored (masked), the loss is only computed for labels in `[0, ...,
    config.vocab_size - 1]`.
Nz$Label values must be <= vocab_size: r¢   r„  )r­   r^  F)Úenabled)ÚblankÚ	reductionÚzero_infinity©ÚlossÚlogitsrD   r6  rA   )r~  r8   rÈ  rÄ   r4  r  r˜   rÊ  r¦   Ú	ones_liker`  rX  rˆ  r  Úmasked_selectr   r²   Úlog_softmaxÚfloat32rB   ÚbackendsÚcudnnÚflagsÚctc_lossÚpad_token_idÚctc_loss_reductionÚctc_zero_infinityr   rD   r6  )r7   rŠ   r¢   rÒ  r¤   ÚoutputsrD   rÛ  rÚ  rJ  Úlabels_maskÚtarget_lengthsÚflattened_targetsÚ	log_probss   &&&&,         r;   rE   ÚData2VecAudioForCTC.forward  sá  € ð  Ò &§*¡*£,°$·+±+×2HÑ2HÔ"HÜÐCÀDÇKÁK×DZÑDZÐC[Ð\Ó]Ð]à×%Ò%Øñ
à)ð
ð ñ
ˆð  ×1Ñ1ˆØŸ™ ]Ó3ˆà—‘˜mÓ,ˆàˆØÓð #1Ò"<‘Ä%Ç/Â/ÐR^Ôfk×fpÑfpÔBqð ð !×AÑAÀ.×BTÑBTÐUWÓBXÓY×\Ñ\Ô]b×]gÑ]gÓhˆMð ! A™+ˆKØ(Ÿ_™_¨RÓ0ˆNØ &× 4Ñ 4°[Ó AÐô Ÿ™×1Ñ1°&¸bÌÏÉÐ1ÓV×`Ñ`ÐabÐdeÓfˆIä—‘×%Ñ%×+Ñ+°EÐ+×:Õ:Ü—}‘}×-Ñ-ØØ%Ø!Ø"ØŸ+™+×2Ñ2Ø"Ÿk™k×<Ñ<Ø"&§+¡+×"?Ñ"?ð .ó �÷ ;ô Ø°G×4IÑ4IÐV]×VhÑVhô
ð 	
÷ ;×:ús   ÆA#H)È)H9	)r4  r˜   rÊ  rÂ  )rI   rJ   rK   rL   r)   r«  r   r   rE   rM   rN   rO   rP   s   @@r;   rÅ  rÅ  ö  s6   ù‡ € õò6Cð Ø÷:
ñ :
ó ó ÷:
ð :
r=   rÅ  zœ
    Data2VecAudio Model with a sequence classification head on top (a linear layer over the pooled output) for tasks like
    SUPERB Keyword Spotting.
    c                   ór   a a€ ] tR tRt oV 3R ltR tR t]]]	RV3R lR ll4       4       4       t
RtVtV ;t# )	Ú&Data2VecAudioForSequenceClassificationi]  c                ó:  <€ \         SV `  V4       \        VR 4      '       d   VP                  '       d   \	        R4      h\        V4      V n        VP                  ^,           pVP                  '       d7   \        P                  ! \        P                  ! V4      V,          4      V n        \        P                  ! VP                  VP                   4      V n        \        P                  ! VP                   VP$                  4      V n        V P)                  4        R# )rK  zdSequence classification does not support the use of Data2VecAudio adapters (config.add_adapter=True)N)r(   r)   rÉ  rK  rÄ   r›  r4  r  Úuse_weighted_layer_sumr   r£  r¦   r�  Úlayer_weightsr”   ra   Úclassifier_proj_sizeÚ	projectorÚ
num_labelsÚ
classifierr¦  ©r7   r8   Ú
num_layersr:   s   && €r;   r)   Ú/Data2VecAudioForSequenceClassification.__init__d  sÊ   ø€ Ü‰Ñ˜Ô ä�6˜=×)Ò)¨f×.@×.@Ð.@ÜØvóð ô 1°Ó8ˆÔØ×-Ñ-°Õ1ˆ
Ø×(×(Ð(Ü!#§¢¬e¯jªj¸Ó.DÀzÕ.QÓ!RˆDÔÜŸš 6×#5Ñ#5°v×7RÑ7RÓSˆŒÜŸ)š) F×$?Ñ$?À×ARÑARÓSˆŒð 	�‰Ör=   c                óN   € V P                   P                  P                  4        R# r©  rÍ  rª  s   &r;   r«  Ú=Data2VecAudioForSequenceClassification.freeze_feature_encoderu  rÏ  r=   c                óV   € V P                   P                  4        F
  pRVn        K  	  R# ©zº
Calling this function will disable the gradient computation for the base model so that its parameters will not
be updated during training. Only the classification head will be updated.
FN©r4  r�   r‚   rƒ   s   & r;   Úfreeze_base_modelÚ8Data2VecAudioForSequenceClassification.freeze_base_model|  ó%   € ð
 ×(Ñ(×3Ñ3Ö5ˆEØ"'ˆEÖó 6r=   c                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# rÑ  )r¦   r§   r   r   rÎ   r   )r©   rQ   s   "€r;   rª   Ú3Data2VecAudioForSequenceClassification.__annotate__‡  sd   ø€ ÷ 9
ñ 9
á—l‘l TÕ)ð9
ñ Ÿ™ tÕ+ð9
ñ —‘˜tÕ#ð	9
ñ
 Ñ+Õ,ð9
ñ 
Ñ)Õ	)ñ9
r=   c                ó(  € V P                   P                  '       d   RVR&   V P                  ! V3RV/VB pV P                   P                  '       dz   VP                  p\        P
                  ! V^R7      p\        P                  P                  V P                  RR7      pWgP                  R^^4      ,          P                  ^R7      pMVP                  pV P                  V4      pVf   VP                  ^R7      pM”V P                  VP                   ^,          V4      p	V	P#                  R4      P%                  ^^VP                   ^,          4      p
RWj( &   VP                  ^R7      V	P                  ^R7      P                  R^4      ,          pV P'                  V4      pRpVeG   \)        4       pV! VP                  RV P                   P*                  4      VP                  R4      4      p\-        VVVP                  VP.                  R7      # )	á¹  
input_values (`torch.FloatTensor` of shape `(batch_size, sequence_length)`):
    Float values of input raw speech waveform. Values can be obtained by loading a `.flac` or `.wav` audio file
    into an array of type `list[float]`, a `numpy.ndarray` or a `torch.Tensor`, *e.g.* via the torchcodec library
    (`pip install torchcodec`) or the soundfile library (`pip install soundfile`).
    To prepare the array into `input_values`, the [`AutoProcessor`] should be used for padding and conversion
    into a tensor of type `torch.FloatTensor`. See [`Data2VecAudioProcessor.__call__`] for details.
labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):
    Labels for computing the sequence classification/regression loss. Indices should be in `[0, ...,
    config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If
    `config.num_labels > 1` a classification loss is computed (Cross-Entropy).
TÚoutput_hidden_statesr¢   r¬   NrÐ   rÙ  rA   )r8   rð  r4  rD   r¦   Ústackr   r²   r³   rñ  rÒ   rˆ  r  ró  Úmeanrg  rÑ   r  r  rõ  r   rô  r   r6  )r7   rŠ   r¢   rÒ  r¤   rç  rD   Únorm_weightsÚpooled_outputÚpadding_maskÚexpand_padding_maskrÛ  rÚ  Úloss_fcts   &&&&,         r;   rE   Ú.Data2VecAudioForSequenceClassification.forward„  sã  € ð, �;‰;×-×-Ð-Ø-1ˆFÐ)Ñ*à×%Ò%Øñ
à)ð
ð ñ
ˆð �;‰;×-×-Ð-Ø#×1Ñ1ˆMÜ!ŸKšK¨¸1Ô=ˆMÜŸ=™=×0Ñ0°×1CÑ1CÈÐ0ÓLˆLØ*×->Ñ->¸rÀ1ÀaÓ-HÕH×MÑMÐRSÐMÓT‰Mà#×5Ñ5ˆMàŸ™ }Ó5ˆØÒ!Ø)×.Ñ.°1Ð.Ó5‰Mà×BÑBÀ=×CVÑCVÐWXÕCYÐ[iÓjˆLØ".×"8Ñ"8¸Ó"<×"CÑ"CÀAÀqÈ-×J]ÑJ]Ð^_ÕJ`Ó"aÐØ25ˆMÐ.Ñ/Ø)×-Ñ-°!Ð-Ó4°|×7GÑ7GÈAÐ7GÓ7N×7SÑ7SÐTVÐXYÓ7ZÕZˆMà—‘ Ó/ˆàˆØÒÜ'Ó)ˆHÙ˜FŸK™K¨¨D¯K©K×,BÑ,BÓCÀVÇ[Á[ÐQSÃ_ÓUˆDä'ØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r=   )rõ  r4  rñ  ró  rÂ  ©rI   rJ   rK   rL   r)   r«  rþ  r   r   r   rE   rM   rN   rO   rP   s   @@r;   rî  rî  ]  sC   ù‡ € õò"Cò(ð Ø Ø÷9
ñ 9
ó ó !ó ÷9
ð 9
r=   rî  c                   ór   a a€ ] tR tRt oV 3R ltR tR t]]]	RV3R lR ll4       4       4       t
RtVtV ;t# )	Ú(Data2VecAudioForAudioFrameClassificationiÃ  c                óü  <€ \         SV `  V4       \        VR 4      '       d   VP                  '       d   \	        R4      h\        V4      V n        VP                  ^,           pVP                  '       d7   \        P                  ! \        P                  ! V4      V,          4      V n        \        P                  ! VP                  VP                   4      V n        VP                   V n        V P%                  4        R# )rK  zgAudio frame classification does not support the use of Data2VecAudio adapters (config.add_adapter=True)N)r(   r)   rÉ  rK  rÄ   r›  r4  r  rð  r   r£  r¦   r�  rñ  r”   ra   rô  rõ  r¦  rö  s   && €r;   r)   Ú1Data2VecAudioForAudioFrameClassification.__init__Å  s·   ø€ Ü‰Ñ˜Ô ä�6˜=×)Ò)¨f×.@×.@Ð.@ÜØyóð ô 1°Ó8ˆÔØ×-Ñ-°Õ1ˆ
Ø×(×(Ð(Ü!#§¢¬e¯jªj¸Ó.DÀzÕ.QÓ!RˆDÔÜŸ)š) F×$6Ñ$6¸×8IÑ8IÓJˆŒØ ×+Ñ+ˆŒà�‰Ör=   c                óN   € V P                   P                  P                  4        R# r©  rÍ  rª  s   &r;   r«  Ú?Data2VecAudioForAudioFrameClassification.freeze_feature_encoderÕ  rÏ  r=   c                óV   € V P                   P                  4        F
  pRVn        K  	  R# rü  rý  rƒ   s   & r;   rþ  Ú:Data2VecAudioForAudioFrameClassification.freeze_base_modelÜ  r   r=   c                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# rÑ  )r¦   r§   r   r   rÎ   r   )r©   rQ   s   "€r;   rª   Ú5Data2VecAudioForAudioFrameClassification.__annotate__ç  sd   ø€ ÷ 0
ñ 0
á—l‘l TÕ)ð0
ñ Ÿ™ tÕ+ð0
ñ —‘˜tÕ#ð	0
ñ
 Ñ+Õ,ð0
ñ 
Ñ&Õ	&ñ0
r=   c           	     óÞ  € V P                   P                  '       d   RVR&   V P                  ! V3RV/VB pV P                   P                  '       dz   VP                  p\        P
                  ! V^R7      p\        P                  P                  V P                  RR7      pWgP                  R^^4      ,          P                  ^R7      pMVP                  pV P                  V4      pRp	Ve^   \        4       p
V
! VP                  RV P                  4      \        P                   ! VP                  RV P                  4      ^R7      4      p	\#        V	VVP                  VP$                  R7      # )	r  Tr  r¢   r¬   N)ÚaxisrÙ  rA   )r8   rð  r4  rD   r¦   r  r   r²   r³   rñ  rÒ   rˆ  r  rõ  r   rô  Úargmaxr   r6  )r7   rŠ   r¢   rÒ  r¤   rç  rD   r  rÛ  rÚ  r  s   &&&&,      r;   rE   Ú0Data2VecAudioForAudioFrameClassification.forwardä  sA  € ð, �;‰;×-×-Ð-Ø-1ˆFÐ)Ñ*à×%Ò%Øñ
à)ð
ð ñ
ˆð �;‰;×-×-Ð-Ø#×1Ñ1ˆMÜ!ŸKšK¨¸1Ô=ˆMÜŸ=™=×0Ñ0°×1CÑ1CÈÐ0ÓLˆLØ*×->Ñ->¸rÀ1ÀaÓ-HÕH×MÑMÐRSÐMÓT‰Mà#×5Ñ5ˆMà—‘ Ó/ˆàˆØÒÜ'Ó)ˆHÙ˜FŸK™K¨¨D¯O©OÓ<¼e¿lºlÈ6Ï;É;ÐWYÐ[_×[jÑ[jÓKkÐrsÔ>tÓuˆDä$ØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r=   )rõ  r4  rñ  rô  rÂ  r  rP   s   @@r;   r  r  Ã  sC   ù‡ € õò Cò(ð Ø Ø÷0
ñ 0
ó ó !ó ÷0
ð 0
r=   r  c                   ó<   a a€ ] tR tRt oRV 3R lltR tRtVtV ;t# )ÚAMSoftmaxLossi  c                óÞ   <€ \         SV `  4        W0n        W@n        W n        \
        P                  ! \        P                  ! W4      R R7      V n	        \
        P                  ! 4       V n        R# )T)r‚   N)r(   r)   ÚscaleÚmarginrô  r   r£  r¦   ÚrandnrC  r   rÚ  )r7   Ú	input_dimrô  r   r!  r:   s   &&&&&€r;   r)   ÚAMSoftmaxLoss.__init__  sI   ø€ Ü‰ÑÔØŒ
ØŒØ$ŒÜ—l’l¤5§;¢;¨yÓ#EÐUYÔZˆŒÜ×'Ò'Ó)ˆŽ	r=   c                óî  € VP                  4       p\        P                  P                  V P                  ^ R7      p\        P                  P                  V^R7      p\
        P                  ! W4      pW@P                  ,
          p\        P                  P                  W P                  4      pV P                  \
        P                  ! VP                  4       WT4      ,          pV P                  Wr4      pV# )r   r¬   )Úflattenr   r²   Ú	normalizerC  r¦   Úmmr!  Úone_hotrô  r   ÚwhererÀ   rÚ  )	r7   rD   rÒ  rC  Ú	cos_thetaÚpsiÚonehotrÛ  rÚ  s	   &&&      r;   rE   ÚAMSoftmaxLoss.forward#  s¨   € Ø—‘Ó!ˆÜ—‘×(Ñ(¨¯©¸!Ð(Ó<ˆÜŸ™×/Ñ/°À1Ð/ÓEˆÜ—H’H˜]Ó3ˆ	ØŸ+™+Õ%ˆä—‘×&Ñ& v¯©Ó?ˆØ—‘œeŸkšk¨&¯+©+«-¸ÓHÕHˆØ�y‰y˜Ó(ˆàˆr=   )rÚ  r!  rô  r   rC  )g      >@gš™™™™™Ù?rH   rP   s   @@r;   r  r    s   ù‡ € ÷*÷ò r=   r  c                   óH   a a€ ] tR tRt oRV 3R lltV3R lR ltRtVtV ;t# )Ú	TDNNLayeri1  c                óÜ  <€ \         SV `  4        V^ 8”  d   VP                  V^,
          ,          MVP                  V,          V n        VP                  V,          V n        VP
                  V,          V n        VP                  V,          V n        \        P                  ! V P                  V P                  ,          V P                  4      V n        \        P                  ! 4       V n        R# )r   N)r(   r)   Útdnn_dimr+   r,   Útdnn_kernelr#   Útdnn_dilationÚdilationr   r”   ÚkernelÚReLUr5   r6   s   &&&€r;   r)   ÚTDNNLayer.__init__2  s¡   ø€ Ü‰ÑÔØ<DÀq¼L˜6Ÿ?™?¨8°a­<Ö8ÈfÏoÉoÐ^fÕNgˆÔØ"ŸO™O¨HÕ5ˆÔØ!×-Ñ-¨hÕ7ˆÔØ×,Ñ,¨XÕ6ˆŒä—i’i × 0Ñ 0°4×3CÑ3CÕ CÀT×EVÑEVÓWˆŒÜŸ'š'›)ˆŽr=   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r?   rD   rÍ   )r¦   r§   )r©   rQ   s   "€r;   rª   ÚTDNNLayer.__annotate__<  s#   ø€ ÷ ñ ¡U§\¡\ð ±e·l±lñ r=   c                óJ  € \        4       '       d   ^ RIHp \        4       '       d3   \        V P                  X4      '       d   \
        P                  ! R4       VP                  ^^4      pV P                  P                  P                  V P                  V P                  V P                  4      P                  ^^4      p\        P                  P                  WV P                  P                   V P"                  R7      pVP                  ^^4      pV P%                  V4      pV# )r   )Ú	LoraLayerz‡Detected LoRA on TDNNLayer. LoRA weights won't be applied due to optimization. You should exclude TDNNLayer from LoRA's target modules.)r5  )r   Úpeft.tuners.lorar<  rç   r6  ÚwarningsÚwarnrB   rC  rÒ   r,   r#   r+   r   r²   Úconv1dr%   r5  r5   )r7   rD   r<  rC  s   &&  r;   rE   ÚTDNNLayer.forward<  sß   € Ü×ÒÝ2ä×ÒÜ˜$Ÿ+™+ y×1Ò1Ü—’ðOôð &×/Ñ/°°1Ó5ˆØ—‘×#Ñ#×(Ñ(¨×):Ñ):¸D×<LÑ<LÈd×N^ÑN^Ó_×iÑiÐjkÐmnÓoˆÜŸ™×,Ñ,¨]ÀDÇKÁK×DTÑDTÐ_c×_lÑ_lÐ,ÓmˆØ%×/Ñ/°°1Ó5ˆàŸ™¨Ó6ˆØÐr=   )r5   r5  r+   r6  r#   r,   rG   rH   rP   s   @@r;   r0  r0  1  s   ù‡ € ÷$÷÷ ð r=   r0  zq
    Data2VecAudio Model with an XVector feature extraction head on top for tasks like Speaker Verification.
    c                   ó„   a a€ ] tR tRt oV 3R ltR tR tV3R lR lt]]	]
R
V3R lR ll4       4       4       tR	tVtV ;t# )ÚData2VecAudioForXVectoriQ  c                ó\  <€ \         SV `  V4       \        V4      V n        VP                  ^,           pVP
                  '       d7   \        P                  ! \        P                  ! V4      V,          4      V n
        \        P                  ! VP                  VP                  ^ ,          4      V n        \        \!        VP                  4      4       Uu. uF  p\#        W4      NK  	  pp\        P$                  ! V4      V n        \        P                  ! VP                  R,          ^,          VP(                  4      V n        \        P                  ! VP(                  VP(                  4      V n        \/        VP(                  VP0                  4      V n        V P5                  4        R# u upi )rh   NrA   )r(   r)   r›  r4  r  rð  r   r£  r¦   r�  rñ  r”   ra   r2  ró  ro   r‹  r0  rn   ÚtdnnÚxvector_output_dimrŸ  rõ  r  rô  Ú	objectiver¦  )r7   r8   r÷  r~   Útdnn_layersr:   s   &&   €r;   r)   Ú Data2VecAudioForXVector.__init__W  s!  ø€ Ü‰Ñ˜Ô ä0°Ó8ˆÔØ×-Ñ-°Õ1ˆ
Ø×(×(Ð(Ü!#§¢¬e¯jªj¸Ó.DÀzÕ.QÓ!RˆDÔÜŸš 6×#5Ñ#5°v·±ÀqÕ7IÓJˆŒä5:¼3¸v¿¹Ó;OÔ5PÓQÑ5P°”y Ö+Ñ5PˆÐQÜ—M’M +Ó.ˆŒ	ä!#§¢¨6¯?©?¸2Õ+>ÀÕ+BÀF×D]ÑD]Ó!^ˆÔÜŸ)š) F×$=Ñ$=¸v×?XÑ?XÓYˆŒä& v×'@Ñ'@À&×BSÑBSÓTˆŒà�‰Öùò Rs   ÃF)c                óN   € V P                   P                  P                  4        R# r©  rÍ  rª  s   &r;   r«  Ú.Data2VecAudioForXVector.freeze_feature_encoderj  rÏ  r=   c                óV   € V P                   P                  4        F
  pRVn        K  	  R# rü  rý  rƒ   s   & r;   rþ  Ú)Data2VecAudioForXVector.freeze_base_modelq  r   r=   c                óD   <€ V ^8„  d   QhRS[ P                  S[,          /# )r?   rJ  )r¦   rL  r¿   )r©   rQ   s   "€r;   rª   Ú$Data2VecAudioForXVector.__annotate__y  s   ø€ ÷ ñ ±e×6FÑ6FÉÕ6Lñ r=   c                óX   € R pV P                   P                   F  pV! W^4      pK  	  V# )z/
Computes the output length of the TDNN layers
c                 ó.   € W,
          V,          ^,           # rg   rk  rS  s   &&&r;   rU  ÚJData2VecAudioForXVector._get_tdnn_output_lengths.<locals>._conv_out_length~  s   € ð !Õ.°6Õ9¸AÕ=Ð=r=   )r8   r3  )r7   rJ  rU  r#   s   &&  r;   Ú_get_tdnn_output_lengthsÚ0Data2VecAudioForXVector._get_tdnn_output_lengthsy  s1   € ò
	>ð
  Ÿ;™;×2Ô2ˆKÙ,¨]ÈÓKŠMñ 3ð Ðr=   c                ó¾   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# rÑ  )r¦   r§   r   r   rÎ   r   )r©   rQ   s   "€r;   rª   rO  ‹  sj   ø€ ÷ F
ñ F
á—l‘l TÕ)ðF
ñ Ÿ™ tÕ+ðF
ñ —‘˜tÕ#ð	F
ñ
 Ñ+Õ,ðF
ñ 
‘Õ	ñF
r=   c                óà  € V P                   P                  '       d   RVR&   V P                  ! V3RV/VB pV P                   P                  '       dz   VP                  p\        P
                  ! V^R7      p\        P                  P                  V P                  RR7      pWgP                  R^^4      ,          P                  ^R7      pMVP                  pV P                  V4      pV P                   F  pV! V4      pK  	  Vf&   VP                  ^R7      p	VP!                  ^R7      p
MÌV P#                  VP                  ^R7      4      pV P%                  V4      p. p	. p
\'        V4       F[  w  rÞV	P)                  WmRV13,          P                  ^ R7      4       V
P)                  WmRV13,          P!                  ^ R7      4       K]  	  \        P
                  ! V	4      p	\        P
                  ! V
4      p
\        P*                  ! Wš.RR7      pV P-                  V4      pV P/                  V4      pRpVe   V P1                  VV4      p\3        VVVVP                  VP4                  R7      # )r  Tr  r¢   r¬   N)rÚ  rÛ  Ú
embeddingsrD   r6  rA   )r8   rð  r4  rD   r¦   r  r   r²   r³   rñ  rÒ   rˆ  r  ró  rE  r  ÚstdrX  rS  Ú	enumerater�  ÚcatrŸ  rõ  rG  r   r6  )r7   rŠ   r¢   rÒ  r¤   rç  rD   r  Ú
tdnn_layerÚmean_featuresÚstd_featuresÚfeat_extract_output_lengthsÚtdnn_output_lengthsr~   ÚlengthÚstatistic_poolingÚoutput_embeddingsrÛ  rÚ  s   &&&&,              r;   rE   ÚData2VecAudioForXVector.forwardˆ  sH  € ð, �;‰;×-×-Ð-Ø-1ˆFÐ)Ñ*à×%Ò%Øñ
à)ð
ð ñ
ˆð �;‰;×-×-Ð-Ø#×1Ñ1ˆMÜ!ŸKšK¨¸1Ô=ˆMÜŸ=™=×0Ñ0°×1CÑ1CÈÐ0ÓLˆLØ*×->Ñ->¸rÀ1ÀaÓ-HÕH×MÑMÐRSÐMÓT‰Mà#×5Ñ5ˆMàŸ™ }Ó5ˆàŸ)œ)ˆJÙ& }Ó5ŠMñ $ð Ò!Ø)×.Ñ.°1Ð.Ó5ˆMØ(×,Ñ,°Ð,Ó3‰Là*.×*OÑ*OÐP^×PbÑPbÐghÐPbÓPiÓ*jÐ'Ø"&×"?Ñ"?Ð@[Ó"\ÐØˆMØˆLÜ&Ð':Ö;‘	�Ø×$Ñ$ ]°g°v°g°:Õ%>×%CÑ%CÈÐ%CÓ%JÔKØ×#Ñ# M°W°f°W°*Õ$=×$AÑ$AÀaÐ$AÓ$HÖIñ <ô "ŸKšK¨Ó6ˆMÜ Ÿ;š; |Ó4ˆLÜ!ŸIšI }Ð&CÈÔLÐà ×2Ñ2Ð3DÓEÐØ—‘Ð!2Ó3ˆàˆØÒØ—>‘> &¨&Ó1ˆDäØØØ(Ø!×/Ñ/Ø×)Ñ)ô
ð 	
r=   )rõ  r4  rŸ  rñ  rG  ró  rE  rÂ  )rI   rJ   rK   rL   r)   r«  rþ  rS  r   r   r   rE   rM   rN   rO   rP   s   @@r;   rC  rC  Q  sQ   ù‡ € õò&Cò(÷ð ð Ø Ø÷F
ñ F
ó ó !ó ÷F
ð F
r=   rC  )NrÐ   )Nr   )r  rÅ  rî  rC  r›  r3  )Lr>  r>  Úcollections.abcr   Únumpyr.  r¦   r   Útorch.nnr   Ú r   rA  Úactivationsr   Úbackbone_utilsr   Úintegrations.deepspeedr	   Úintegrations.fsdpr
   Úmasking_utilsr   Úmodeling_flash_attention_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r   r   r   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   Úutils.genericr   r   Úutils.output_capturingr   r   Úconfiguration_data2vec_audior   r!   r¥   rS   r]   rk   rx   r�   r·   r¹   rá   rò   r  r  r#  r3  r™  r½  r›  rÅ  rî  r  r  r0  rC  Ú__all__rk  r=   r;   Ú<module>rw     s0  ðó* Û Ý $ã Û Ý Ý %å &Ý !Ý 9Ý @Ý 7Ý 6Ý BÝ 9÷÷ ÷ GÝ &ß JÑ Jß Iß EÝ =ôÐ7ô ô6˜BŸI™Iô ô r§y¡yô ô6¨2¯9©9ô ô "§)¡)ô ô:1 R§Y¡Yô 1÷%ô8R)˜RŸY™Yô R)ôj˜rŸy™yô ô0Ð :ô ôD+@˜2Ÿ9™9ô +@ô\ §	¡	ô ô$˜2Ÿ9™9ô ð> ôF ?ó Fó ðF÷Rtðn  7Ð ð ôr
Ð5ó r
ó ðr
ñj ðôô
_
Ð6ó _
óð
_
ñD ðôô]
Ð-Ió ]
óð]
ð@ ôS
Ð/Kó S
ó ðS
ôl�B—I‘Iô ô.�—	‘	ô ñ@ ðôô
{
Ð:ó {
óð
{
ò|‚r=   