+
    œ°³j>  ã                   ó˜  € R 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Ht ^RIHt ^RIHtHt ^RIHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t( ^RI)H*t* ^t+ ! R R]&4      t, ! R R]%4      t- ! R R]$4      t. ! R R]P^                  4      t0 ! R R]'4      t1 ! R R]P^                  4      t2 ! R R] 4      t3 ! R R]4      t4 ! R  R!]!4      t5 ! R" R#]4      t6 ! R$ R%]P^                  4      t7] ! R& R']4      4       t8] ! R( R)]84      4       t9 ! R* R+]"4      t: ! R, R-]#4      t;. R.Ot<R# )/zPyTorch SEW model.N)Únn)Úinitialization)ÚACT2FN)Úis_deepspeed_zero3_enabled)Úis_fsdp_managed_module)Úcreate_bidirectional_mask)ÚBaseModelOutput)ÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstring)Úmerge_with_config_defaults)ÚOutputRecorderÚcapture_outputs)ÚWav2Vec2AttentionÚWav2Vec2EncoderLayerÚWav2Vec2FeatureEncoderÚWav2Vec2FeedForwardÚWav2Vec2ForCTCÚ!Wav2Vec2ForSequenceClassificationÚWav2Vec2GroupNormConvLayerÚWav2Vec2LayerNormConvLayerÚWav2Vec2NoLayerNormConvLayerÚWav2Vec2SamePadLayerÚ_compute_mask_indices©Ú	SEWConfigc                   ó   € ] tR t^3tRtR# )ÚSEWNoLayerNormConvLayer© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/sew/modular_sew.pyr   r   3   ó   † Ûr&   r   c                   ó   € ] tR t^7tRtR# )ÚSEWLayerNormConvLayerr   Nr    r   r&   r'   r*   r*   7   r(   r&   r*   c                   ó   € ] tR t^;tRtR# )ÚSEWGroupNormConvLayerr   Nr    r   r&   r'   r,   r,   ;   r(   r&   r,   c                   ó8   a a€ ] tR t^?t oV 3R ltR tRtVtV ;t# )ÚSEWPositionalConvEmbeddingc           	     ó  <€ \         SV `  4        \        P                  ! VP                  VP                  VP
                  VP
                  ^,          VP                  VP                  R7      V n        \        P                  P                  p\        \        P                  P                  R4      '       d%   \        P                  P                  P                  p\        4       '       Ed5   ^ RIpVP                  P!                  V P                  P"                  ^ R7      ;_uu_ 4        V! V P                  R^R7      V n        RRR4       \        V P                  R4      '       dV   V P                  P                  P"                  P$                  pV P                  P                  P"                  P&                  pM,V P                  P(                  pV P                  P*                  pVP                  P-                  W4       VP                  P-                  W4       MV! V P                  R^R7      V n        \/        VP
                  4      V n        \2        VP4                  ,          V n        R#   + '       g   i     EL7; i)é   )Úkernel_sizeÚpaddingÚgroupsÚstrideÚweight_normN©Úmodifier_rankÚweight)ÚnameÚdimÚparametrizations)ÚsuperÚ__init__r   ÚConv1dÚhidden_sizeÚnum_conv_pos_embeddingsÚnum_conv_pos_embedding_groupsÚsqueeze_factorÚconvÚutilsr5   Úhasattrr;   r   Ú	deepspeedÚzeroÚGatheredParametersr8   Ú	original0Ú	original1Úweight_gÚweight_vÚregister_external_parameterÚSEWSamePadLayerr2   r   Úfeat_extract_activationÚ
activation)ÚselfÚconfigr5   rF   rK   rL   Ú	__class__s   &&    €r'   r=   Ú#SEWPositionalConvEmbedding.__init__@   s°  ø€ Ü‰ÑÔÜ—I’IØ×ÑØ×ÑØ×6Ñ6Ø×2Ñ2°aÕ7Ø×7Ñ7Ø×(Ñ(ô
ˆŒ	ô —h‘h×*Ñ*ˆÜ”2—8‘8×,Ñ,¨m×<Ò<ÜŸ(™(×3Ñ3×?Ñ?ˆKä%×'Ó'Ûà—‘×2Ñ2°4·9±9×3CÑ3CÐSTÐ2×UÕUÙ'¨¯	©	¸ÀaÔH�”	÷ Vä�t—y‘yÐ"4×5Ò5ØŸ9™9×5Ñ5×<Ñ<×FÑF�ØŸ9™9×5Ñ5×<Ñ<×FÑF‘àŸ9™9×-Ñ-�ØŸ9™9×-Ñ-�Ø�N‰N×6Ñ6°tÔFØ�N‰N×6Ñ6°tÕFá# D§I¡I°HÀ!ÔDˆDŒIä& v×'EÑ'EÓFˆŒÜ  ×!?Ñ!?Õ@ˆŽ÷ V×UÐUús   Ä*I3É3J	c                ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# ©N)rC   r2   rP   )rQ   Úhidden_statess   &&r'   ÚforwardÚ"SEWPositionalConvEmbedding.forwardb   s2   € ØŸ	™	 -Ó0ˆØŸ™ ]Ó3ˆØŸ™¨Ó6ˆàÐr&   )rP   rC   r2   ©	r!   r"   r#   r$   r=   rX   r%   Ú__classdictcell__Ú__classcell__©rS   Ú__classdict__s   @@r'   r.   r.   ?   s   ù‡ € õ A÷Dò r&   r.   c                   ó   € ] tR t^jtRtR# )rN   r   Nr    r   r&   r'   rN   rN   j   r(   r&   rN   c                   ó8   a a€ ] tR t^nt oV 3R ltR tRtVtV ;t# )ÚSEWUpsamplingc                ó   <€ \         SV `  4        \        P                  ! VP                  VP                  VP
                  ,          4      V n        \        VP                  ,          V n	        VP
                  V n        R # rV   )
r<   r=   r   ÚLinearr?   rB   Ú
projectionr   rO   rP   ©rQ   rR   rS   s   &&€r'   r=   ÚSEWUpsampling.__init__o   sW   ø€ Ü‰ÑÔÜŸ)š) F×$6Ñ$6¸×8JÑ8JÈV×MbÑMbÕ8bÓcˆŒÜ  ×!?Ñ!?Õ@ˆŒØ$×3Ñ3ˆÖr&   c                ó8  € V P                  V4      pV P                  V4      pV P                  ^8”  dg   VP                  4       w  r#pW0P                  ,          pW@P                  ,          pVP	                  W#V P                  V4      pVP	                  W%V4      pV# )é   )rd   rP   rB   ÚsizeÚreshape)rQ   rW   ÚbszÚsrc_lenÚsrc_embed_dimÚtgt_lenÚtgt_embed_dims   &&     r'   rX   ÚSEWUpsampling.forwardu   sŽ   € ØŸ™¨Ó6ˆØŸ™¨Ó6ˆà×Ñ Ô"à*7×*<Ñ*<Ó*>Ñ'ˆC˜-Ø× 3Ñ 3Õ3ˆGØ)×-@Ñ-@Õ@ˆMØ)×1Ñ1°#À×@SÑ@SÐUbÓcˆMØ)×1Ñ1°#ÀÓNˆMàÐr&   )rP   rd   rB   rZ   r]   s   @@r'   ra   ra   n   s   ù‡ € õ4÷ò r&   ra   c                   ó   € ] tR t^„tRtR# )ÚSEWFeatureEncoderr   Nr    r   r&   r'   rr   rr   „   r(   r&   rr   c                   ó   € ] tR t^ˆtRtR# )ÚSEWAttentionr   Nr    r   r&   r'   rt   rt   ˆ   r(   r&   rt   c                   ó   € ] tR t^ŒtRtR# )ÚSEWFeedForwardr   Nr    r   r&   r'   rv   rv   Œ   r(   r&   rv   c                   ó   € ] tR t^�tRtR# )ÚSEWEncoderLayerr   Nr    r   r&   r'   rx   rx   �   r(   r&   rx   c                   óH   a a€ ] tR t^”t oV 3R ltRV3R lR lltRtVtV ;t# )Ú
SEWEncoderc                ó"  <€ \         SV `  4        Wn        \        V4      V n        \
        P                  ! VP                  VP                  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        \+        V4      V n        RV n        R# u upi )©ÚepsFN)r<   r=   rR   r.   Úpos_conv_embedr   Ú	AvgPool1drB   ÚpoolÚ	LayerNormr?   Úlayer_norm_epsÚ
layer_normÚDropoutÚhidden_dropoutÚdropoutÚ
ModuleListÚrangeÚnum_hidden_layersrx   Úlayersra   ÚupsampleÚgradient_checkpointing)rQ   rR   Ú_rS   s   && €r'   r=   ÚSEWEncoder.__init__•   s½   ø€ Ü‰ÑÔØŒÜ8¸Ó@ˆÔÜ—L’L ×!6Ñ!6¸×8MÑ8MÓNˆŒ	ÜŸ,š, v×'9Ñ'9¸v×?TÑ?TÔUˆŒÜ—z’z &×"7Ñ"7Ó8ˆŒÜ—m’mÄeÈF×LdÑLdÔFeÓ$fÑFeÀ¤_°VÖ%<ÑFeÑ$fÓgˆŒÜ% fÓ-ˆŒØ&+ˆÖ#ùò %gs   ÃDc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r0   Úkwargs)r
   r   )Úformatr^   s   "€r'   Ú__annotate__ÚSEWEncoder.__annotate__    s    ø€ ÷ 7@ñ 7@ñ Ñ+Õ,ñ	7@r&   c           	     ó6  € Ve½   VP                  R4      P                  ^^VP                  ^,          4      pRW( &   \        P                  P                  VP                  4       P                  ^4      V P                  P                  V P                  P                  R7      P                  ^4      P                  4       pVP                  ^,          pVP                  ^^4      pV P                  V4      pV P                  V4      p\        VP                  R4      VP                  R4      4      pVRR V13,          VRR V13,          ,           pVP                  ^^4      p\!        V P                  WR7      pV P#                  V4      pV P%                  V4      p\'        4       ;'       g    \)        V 4      p	V P*                   Fb  p
\,        P.                  ! . 4      pV P0                  ;'       d    W°P                  P2                  8  pV'       d   V	'       g   KW  V
! V3RV/VB pKd  	  V P5                  V4      pVP                  ^,          V8  d<   \        P                  P7                  V^ ^ ^ WQP                  ^,          ,
          34      p\9        VR7      # )Nç        )r1   r4   .)rR   Úinputs_embedsÚattention_maskr—   ©Úlast_hidden_stateéÿÿÿÿ)Ú	unsqueezeÚrepeatÚshaper   Ú
functionalÚ
max_pool1dÚfloatrR   rB   ÚsqueezeÚlongÚ	transposer~   r€   Úminri   r   rƒ   r†   r   r   rŠ   ÚtorchÚrandÚtrainingÚ	layerdropr‹   Úpadr   )rQ   rW   r—   r�   Úexpand_attention_maskÚn_input_timestepsÚposition_embeddingsÚpooled_hidden_statesÚ
min_lengthÚsynced_gpusÚlayerÚdropout_probabilityÚskip_the_layers   &&&,         r'   rX   ÚSEWEncoder.forward    sE  € ð Ò%à$2×$<Ñ$<¸RÓ$@×$GÑ$GÈÈ1Èm×NaÑNaÐbcÕNdÓ$eÐ!Ø47ˆMÐ0Ñ1ô —‘×(Ñ(Ø"×(Ñ(Ó*×4Ñ4°QÓ7Ø $§¡× :Ñ :ØŸ;™;×5Ñ5ð )ó ÷
 ‘˜“ß‘“ð ð *×/Ñ/°Õ2Ðà%×/Ñ/°°1Ó5ˆØ"×1Ñ1°-Ó@ÐØ#Ÿy™y¨Ó7ÐÜÐ,×1Ñ1°"Ó5Ð7K×7PÑ7PÐQSÓ7TÓUˆ
Ø,¨S°+°:°+Ð-=Õ>ÐATÐUXÐZeÐ[eÐZeÐUeÕAfÕfˆØ%×/Ñ/°°1Ó5ˆä2Ø—;‘;¨mô
ˆð Ÿ™¨Ó6ˆØŸ™ ]Ó3ˆä0Ó2×RÐRÔ6LÈTÓ6Rˆà—[”[ˆEä"'§*¢*¨R£.Ðà!Ÿ]™]×ZÐZÐ/BÇ[Á[×EZÑEZÑ/ZˆNß!§[¡[á % mÑ ]ÀNÐ ]ÐV\Ñ ]’ñ !ð Ÿ™ mÓ4ˆØ×Ñ˜qÕ!Ð$5Ô5ÜŸM™M×-Ñ-¨m¸aÀÀAÐGX×[nÑ[nÐopÕ[qÕGqÐ=rÓsˆMä°Ô?Ð?r&   )rR   r†   rŒ   rƒ   rŠ   r€   r~   r‹   rV   rZ   r]   s   @@r'   rz   rz   ”   s   ù‡ € õ	,÷7@÷ 7@ò 7@r&   rz   c            	       óÄ   a a€ ] tR t^Ú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V3R
 lR ltV3R lR ltV3R ltRtVtV ;t# )ÚSEWPreTrainedModelÚsewÚinput_valuesÚaudioTrW   Ú
attentionsÚencoder)ÚindexÚ
layer_namec           
     ó|  <€ \         SV `  V4       \        V\        4      '       d³   \        P
                  ! VP                  P                  ^ ^\        P                  ! ^VP                  P                  ^ ,          VP                  P                  ,          ,          4      ,          R7       \        P                  ! VP                  P                  ^ 4       R# \        V\        P                  4      '       Ed   \!        4       '       dé   ^ RIp\%        VR4      '       dy   \%        VR4      '       dg   VP&                  P)                  VP*                  VP,                  .^ R7      ;_uu_ 4        \        P.                  ! VP                  4       RRR4       R# VP&                  P)                  VP                  ^ R7      ;_uu_ 4        \        P.                  ! VP                  4       RRR4       R# \        P.                  ! VP                  4       R# R#   + '       g   i     R# ; i  + '       g   i     R# ; i)zInitialize the weights)ÚmeanÚstdNrL   rK   r6   )r<   Ú_init_weightsÚ
isinstancer.   ÚinitÚnormal_rC   r8   ÚmathÚsqrtr1   Úin_channelsÚ	constant_Úbiasr   r>   r   rF   rE   rG   rH   rL   rK   Úkaiming_normal_)rQ   ÚmodulerF   rS   s   && €r'   rÀ   Ú SEWPreTrainedModel._init_weightsé   sr  ø€ ô 	‰Ñ˜fÔ%Ü�fÔ8×9Ò9Ü�LŠLØ—‘×"Ñ"ØØœŸ	š	 ! v§{¡{×'>Ñ'>¸qÕ'AÀFÇKÁK×D[ÑD[Õ'[Õ"\Ó]Õ]õô
 �NŠN˜6Ÿ;™;×+Ñ+¨QÖ/Ü˜¤§	¡	×*Ó*Ü)×+Ò+Û ä˜6 :×.Ò.´7¸6À:×3NÒ3NØ"Ÿ™×:Ñ:¸F¿O¹OÈVÏ_É_Ð;]ÐmnÐ:×oÕoÜ×,Ò,¨V¯]©]Ô;÷ pÑoð #Ÿ™×:Ñ:¸6¿=¹=ÐXYÐ:×ZÕZÜ×,Ò,¨V¯]©]Ô;÷ [ÑZô ×$Ò$ V§]¡]Ö3ñ +÷
 p×oÐoú÷ [×ZÐZús   Å-!HÇ!H*ÈH'	È*H;	c                óD   <€ V ^8„  d   QhRS[ P                  S[,          /# )r0   Úinput_lengths)r¥   Ú
LongTensorÚint)r‘   r^   s   "€r'   r’   ÚSEWPreTrainedModel.__annotate__  s    ø€ ÷ ñ ¹e×>NÑ>NÑQTÕ>Tñ r&   c                ó˜   € R p\        V P                  P                  V P                  P                  4       F  w  r4V! WV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_lengthr1   r4   s   &&&r'   Ú_conv_out_lengthÚMSEWPreTrainedModel._get_feat_extract_output_lengths.<locals>._conv_out_length  s    € ô —9’9˜\Õ7¸ÈwÔWÐZ[Õ[Ð[r&   )ÚziprR   Úconv_kernelÚconv_stride)rQ   rÍ   r×   r1   r4   s   &&   r'   Ú _get_feat_extract_output_lengthsÚ3SEWPreTrainedModel._get_feat_extract_output_lengths  sG   € ò
	\ô
 $' t§{¡{×'>Ñ'>ÀÇÁ×@WÑ@WÖ#XÑˆKÙ,¨]ÈÓPŠMñ $Yð Ðr&   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r0   Úfeature_vector_lengthr—   )rÏ   r¥   rÎ   )r‘   r^   s   "€r'   r’   rÐ     s&   ø€ ÷ Hñ HÉð HÑ]b×]mÑ]mñ Hr&   c                ó  € V P                  VP                  R4      4      P                  \        P                  4      p\        P
                  ! WP                  R7      pVP                  ^ 4      VP                  ^4      8  # )rh   )Údevicerš   )rÜ   ÚsumÚtor¥   r¢   Úarangerá   r›   )rQ   rß   r—   Úoutput_lengthsÚattention_idss   &&&  r'   Ú"_get_feature_vector_attention_maskÚ5SEWPreTrainedModel._get_feature_vector_attention_mask  sh   € Ø×>Ñ>¸~×?QÑ?QÐRTÓ?UÓV×YÑYÔZ_×ZdÑZdÓeˆô ŸšÐ%:×CXÑCXÔYˆØ×&Ñ& qÓ)¨N×,DÑ,DÀQÓ,GÑGÐGr&   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r0   rR   r   )r‘   r^   s   "€r'   r’   rÐ   Ú   s   ø‡ ‚ áÑò r&   r   )r!   r"   r#   r$   Úbase_model_prefixÚmain_input_nameÚinput_modalitiesÚsupports_gradient_checkpointingÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnrx   r   rt   Ú_can_record_outputsr¥   Úno_gradrÀ   rÜ   rç   Ú__annotate_func__r%   r[   r\   r]   s   @@r'   rµ   rµ   Ú   s‚   ù‡ € ð ÐØ$€OØÐØ&*Ð#ØÐØ€NØÐà˜Ø‘n \¸ÀyÔQðÐð
 ‡]‚]ƒ_ô4ó ð4÷.ð ÷Hð H÷m … r&   rµ   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t]]! RR7      ]RV3R lR	 ll4       4       4       t	R
t
VtV ;t# )ÚSEWModeli  c                ó    <€ V ^8„  d   QhRS[ /# rê   r   )r‘   r^   s   "€r'   r’   ÚSEWModel.__annotate__  s   ø€ ÷ ñ ™yñ r&   c                óú  <€ \         SV `  V4       Wn        \        V4      V n        \
        P                  ! VP                  R,          VP                  R7      V n	        VP                  R,          VP                  8g  V n        V P                  '       d8   \
        P                  ! VP                  R,          VP                  4      V n        \
        P                  ! VP                  4      V n        VP"                  R8”  g   VP$                  R8”  dH   \
        P&                  ! \(        P*                  ! VP                  4      P-                  4       4      V n        \1        V4      V n        V P5                  4        R# )rh   r|   r•   Nrš   )r<   r=   rR   rr   Úfeature_extractorr   r�   Úconv_dimr‚   rƒ   r?   Úproject_featuresrc   Úfeature_projectionr„   Úfeat_proj_dropoutÚfeature_dropoutÚmask_time_probÚmask_feature_probÚ	Parameterr¥   ÚTensorÚuniform_Úmasked_spec_embedrz   rº   Ú	post_initre   s   &&€r'   r=   ÚSEWModel.__init__  s   ø€ Ü‰Ñ˜Ô ØŒÜ!2°6Ó!:ˆÔÜŸ,š, v§¡°rÕ':À×@UÑ@UÔVˆŒà &§¡°Õ 3°v×7IÑ7IÑ IˆÔØ× × Ð Ü&(§i¢i°·±ÀÕ0CÀV×EWÑEWÓ&XˆDÔ#Ü!Ÿzšz¨&×*BÑ*BÓCˆÔà× Ñ  3Ô&¨&×*BÑ*BÀSÔ*HÜ%'§\¢\´%·,²,¸v×?QÑ?QÓ2R×2[Ñ2[Ó2]Ó%^ˆDÔ"ä! &Ó)ˆŒð 	�‰Ör&   c                ó„   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          /# )r0   rW   Úmask_time_indicesNr—   )r¥   ÚFloatTensorrÎ   )r‘   r^   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)Ú	mask_probÚmask_lengthr—   Ú	min_masks)rá   Údtype)r  r  r  ):NNNNrš   )ÚgetattrrR   ri   r  rã   r  r   r§   r   Úmask_time_lengthÚmask_time_min_masksr¥   Útensorrá   Úboolr  Úmask_feature_lengthÚmask_feature_min_masksÚexpand)rQ   rW   r	  r—   Ú
batch_sizeÚsequence_lengthr?   Úmask_feature_indicess   &&&&    r'   Ú_mask_hidden_statesÚSEWModel._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[,          /# )r0   r·   Nr—   r	  r�   Úreturn)r¥   r  r
  r
   r   Útupler   )r‘   r^   s   "€r'   r’   rø   `  sl   ø€ ÷ "@ñ "@á—l‘l TÕ)ð"@ñ Ÿ™ tÕ+ð"@ñ !×,Ñ,¨tÕ3ð	"@ñ
 Ñ+Õ,ð"@ñ 
‘Õ	 ñ"@r&   c                óž  € V P                  V4      pVP                  ^^4      pV P                  V4      pV P                  '       d   V P	                  V4      pV P                  V4      pVe$   V P                  VP                  ^,          V4      pV P                  WcR7      pV P                  ! V3RV/VB pVP                  p\        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.
)r	  r—   r˜   )rú   r£   rƒ   rü   rý   rÿ   rç   r�   r  rº   r™   r   )rQ   r·   r—   r	  r�   Úextract_featuresrW   Úencoder_outputss   &&&&,   r'   rX   ÚSEWModel.forward]  sÚ   € ð  ×1Ñ1°,Ó?ÐØ+×5Ñ5°a¸Ó;ÐØŸ?™?Ð+;Ó<Ðà× × Ð Ø#×6Ñ6Ð7GÓHÐØ×,Ñ,Ð-=Ó>ˆàÒ%à!×DÑDÀ]×EXÑEXÐYZÕE[Ð]kÓlˆNà×0Ñ0°Ð0ÓdˆàŸ,š,Øñ
à)ð
ð ñ
ˆð (×9Ñ9ˆä°Ô?Ð?r&   )rR   rº   rÿ   rú   rý   rƒ   r  rü   )NN)r!   r"   r#   r$   r=   r  r   r   r   rX   r%   r[   r\   r]   s   @@r'   rö   rö     sQ   ù‡ € ÷ó ÷(,ò ,ð\  Ù¨EÔ2Ø÷"@ñ "@ó ó 3ó  ÷"@ð "@r&   rö   c                   ó   € ] tR tRtRtR# )Ú	SEWForCTCi…  r   Nr    r   r&   r'   r'  r'  …  r(   r&   r'  c                   ó   € ] tR tRtRtR# )ÚSEWForSequenceClassificationi‰  r   Nr    r   r&   r'   r)  r)  ‰  r(   r&   r)  )r'  r)  rö   rµ   )=Ú__doc__rÄ   r¥   r   Ú r   rÂ   Úactivationsr   Úintegrations.deepspeedr   Úintegrations.fsdpr   Úmasking_utilsr   Úmodeling_outputsr   Úmodeling_utilsr	   Úprocessing_utilsr
   rD   r   r   Úutils.genericr   Úutils.output_capturingr   r   Úwav2vec2.modeling_wav2vec2r   r   r   r   r   r   r   r   r   r   r   Úconfiguration_sewr   Ú_HIDDEN_STATES_START_POSITIONr   r*   r,   ÚModuler.   rN   ra   rr   rt   rv   rx   rz   rµ   rö   r'  r)  Ú__all__r   r&   r'   Ú<module>r:     sV  ðñ ã ã Ý å &Ý !Ý @Ý 7Ý 6Ý /Ý -Ý &ß 7Ý 7ß E÷÷ ÷ ñ õ )ð !"Ð ô	Ð:ô 	ô	Ð6ô 	ô	Ð6ô 	ô( §¡ô (ôV	Ð*ô 	ô�B—I‘Iô ô,	Ð.ô 	ô	Ð$ô 	ô	Ð(ô 	ô	Ð*ô 	ôC@�—‘ô C@ðL ô;H˜ó ;Hó ð;Hð| ôh@Ð!ó h@ó ðh@ôV	�ô 	ô	Ð#Dô 	ò Z‚r&   