+
    œ°³jÚ-  ã                   ó¾  € R 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HtHtHtHtHtHt ^R
IHt ^t ! R R]P<                  4      t ! R R]4      t  ! R R]4      t! ! R R]P<                  4      t" ! R R]4      t# ! R R]4      t$] ! R R]4      4       t% ! R R]]%4      t& ! R R]4      t' ! R R]4      t(. ROt)R# ) zPyTorch Hubert model.N)Úinitialization)ÚACT2FN)Úis_deepspeed_zero3_enabled)ÚBaseModelOutput)ÚPreTrainedModel)Úauto_docstring)ÚOutputRecorder)ÚWav2Vec2EncoderÚWav2Vec2EncoderStableLayerNormÚWav2Vec2FeatureEncoderÚWav2Vec2ForCTCÚ!Wav2Vec2ForSequenceClassificationÚWav2Vec2ModelÚWav2Vec2SamePadLayer©ÚHubertConfigc                   ó8   a a€ ] tR t^)t oV 3R ltR tRtVtV ;t# )ÚHubertPositionalConvEmbeddingc                óz  <€ \         SV `  4        \        P                  ! VP                  VP                  VP
                  VP
                  ^,          VP                  R7      V n        RV n        \        VRR4      '       d(   \        P                  ! VP                  4      V n        EMÇ\        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"                  P1                  W4       VP"                  P1                  W4       MV! V P                  R^R7      V n        \3        VP
                  4      V n        \6        VP8                  ,          V n        R#   + '       g   i     EL7; i)
é   )Úkernel_sizeÚpaddingÚgroupsNÚconv_pos_batch_normFÚweight_norm©Úmodifier_rankÚweight)ÚnameÚdimÚparametrizations)ÚsuperÚ__init__ÚnnÚConv1dÚhidden_sizeÚnum_conv_pos_embeddingsÚnum_conv_pos_embedding_groupsÚconvÚ
batch_normÚgetattrÚBatchNorm1dÚutilsr   Úhasattrr    r   Ú	deepspeedÚzeroÚGatheredParametersr   Ú	original0Ú	original1Úweight_gÚweight_vÚregister_external_parameterÚHubertSamePadLayerr   r   Úfeat_extract_activationÚ
activation)ÚselfÚconfigr   r.   r3   r4   Ú	__class__s   &&    €Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/hubert/modular_hubert.pyr"   Ú&HubertPositionalConvEmbedding.__init__*   sÔ  ø€ Ü‰ÑÔÜ—I’IØ×ÑØ×ÑØ×6Ñ6Ø×2Ñ2°aÕ7Ø×7Ñ7ô
ˆŒ	ð ˆŒÜ�6Ð0°%×8Ò8Ü Ÿnšn¨V×-?Ñ-?Ó@ˆDŽOäŸ(™(×.Ñ.ˆKÜ”r—x‘x×0Ñ0°-×@Ò@Ü Ÿh™h×7Ñ7×CÑC�ä)×+Ó+Û à—^‘^×6Ñ6°t·y±y×7GÑ7GÐWXÐ6×YÕYÙ +¨D¯I©I¸HÈ!Ô L�D”I÷ Zä˜4Ÿ9™9Ð&8×9Ò9Ø#Ÿy™y×9Ñ9×@Ñ@×JÑJ�HØ#Ÿy™y×9Ñ9×@Ñ@×JÑJ‘Hà#Ÿy™y×1Ñ1�HØ#Ÿy™y×1Ñ1�HØ—‘×:Ñ:¸4ÔJØ—‘×:Ñ:¸4ÕJá'¨¯	©	¸ÀaÔH�”	ä)¨&×*HÑ*HÓIˆŒÜ  ×!?Ñ!?Õ@ˆŽ÷ Z×YÐYús   Å J)Ê)J:	c                óò   € VP                  ^^4      pV P                  e   V P                  V4      pV P                  V4      pV P                  V4      pV P	                  V4      pVP                  ^^4      pV# )é   )Ú	transposer)   r(   r   r8   ©r9   Úhidden_statess   &&r<   ÚforwardÚ%HubertPositionalConvEmbedding.forwardO   sn   € Ø%×/Ñ/°°1Ó5ˆØ�?‰?Ò&Ø ŸO™O¨MÓ:ˆMØŸ	™	 -Ó0ˆØŸ™ ]Ó3ˆØŸ™¨Ó6ˆà%×/Ñ/°°1Ó5ˆØÐó    )r8   r)   r(   r   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   rC   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r;   Ú__classdict__s   @@r<   r   r   )   s   ù‡ € õ#A÷J	ò 	rE   r   c                   ó   € ] tR t^[tRtR# )r6   © N©rG   rH   rI   rJ   rK   rQ   rE   r<   r6   r6   [   ó   † ÛrE   r6   c                   ó   € ] tR t^_tRtR# )ÚHubertFeatureEncoderrQ   NrR   rQ   rE   r<   rU   rU   _   rS   rE   rU   c                   ó8   a a€ ] tR t^ct oV 3R ltR tRtVtV ;t# )ÚHubertFeatureProjectionc                ó’  <€ \         SV `  4        VP                  V n        V P                  '       d9   \        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# )r?   )ÚepsNéÿÿÿÿ)r!   r"   Úfeat_proj_layer_normr#   Ú	LayerNormÚconv_dimÚlayer_norm_epsÚ
layer_normÚLinearr%   Ú
projectionÚDropoutÚfeat_proj_dropoutÚdropout©r9   r:   r;   s   &&€r<   r"   Ú HubertFeatureProjection.__init__d   s€   ø€ Ü‰ÑÔØ$*×$?Ñ$?ˆÔ!Ø×$×$Ð$Ü Ÿlšl¨6¯?©?¸2Õ+>ÀF×DYÑDYÔZˆDŒOÜŸ)š) F§O¡O°BÕ$7¸×9KÑ9KÓLˆŒÜ—z’z &×":Ñ":Ó;ˆŽrE   c                ó�   € V P                   '       d   V P                  V4      pV P                  V4      pV P                  V4      pV# )N)r[   r_   ra   rd   rA   s   &&r<   rC   ÚHubertFeatureProjection.forwardl   s>   € à×$×$Ð$Ø ŸO™O¨MÓ:ˆMØŸ™¨Ó6ˆØŸ™ ]Ó3ˆØÐrE   )rd   r[   r_   ra   rF   rN   s   @@r<   rW   rW   c   s   ù‡ € õ<÷ò rE   rW   c                   ó   € ] tR t^utRtR# )ÚHubertEncoderrQ   NrR   rQ   rE   r<   rj   rj   u   rS   rE   rj   c                   ó   € ] tR t^ytRtR# )ÚHubertEncoderStableLayerNormrQ   NrR   rQ   rE   r<   rl   rl   y   rS   rE   rl   c            	       óÐ   a a€ ] tR t^}t oRtRtRtR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# )ÚHubertPreTrainedModelÚhubertÚinput_valuesÚaudioÚHubertEncoderLayerÚParametrizedConv1dTrB   Ú
attentionsÚencoder)ÚindexÚ
layer_namec                ó¼  <€ \         SV `  V4       \        V\        P                  4      '       EdI   \        4       '       dç   ^ RIp\        VR4      '       dx   \        VR4      '       df   VP                  P                  VP                  VP                  .^ R7      ;_uu_ 4        \        P                  ! VP                  4       RRR4       MyVP                  P                  VP                  ^ R7      ;_uu_ 4        \        P                  ! VP                  4       RRR4       M \        P                  ! VP                  4       VP                  e#   \        P                   ! VP                  4       R# R# \        V\"        4      '       d7   \        VR4      '       d#   \        P$                  ! VP&                  4       R# R# \        V\(        4      '       dZ   \        VR4      '       dF   \        P*                  ! VP,                  RV P.                  P0                  ^,           ,          4       R# R# R#   + '       g   i     Lÿ; i  + '       g   i     EL; i)zInitialize the weightsNr4   r3   r   Úmasked_spec_embedÚlayer_weightsg      ð?)r!   Ú_init_weightsÚ
isinstancer#   r$   r   r.   r-   r/   r0   r4   r3   ÚinitÚkaiming_normal_r   ÚbiasÚzeros_ÚHubertModelÚuniform_ry   ÚHubertForSequenceClassificationÚ	constant_rz   r:   Únum_hidden_layers)r9   Úmoduler.   r;   s   && €r<   r{   Ú#HubertPreTrainedModel._init_weights�   s’  ø€ ô 	‰Ñ˜fÔ%Ü�fœbŸi™i×(Ó(Ü)×+Ò+Û ä˜6 :×.Ò.´7¸6À:×3NÒ3NØ"Ÿ™×:Ñ:¸F¿O¹OÈVÏ_É_Ð;]ÐmnÐ:×oÕoÜ×,Ò,¨V¯]©]Ô;÷ pÐoð #Ÿ™×:Ñ:¸6¿=¹=ÐXYÐ:×ZÕZÜ×,Ò,¨V¯]©]Ô;÷ [ÐZô ×$Ò$ V§]¡]Ô3à�{‰{Ò&Ü—’˜FŸK™KÖ(ñ 'ä˜¤×,Ò,Ü�vÐ2×3Ò3Ü—’˜f×6Ñ6Ö7ñ 4ä˜Ô ?×@Ò@Ü�v˜×/Ò/Ü—’˜v×3Ñ3°S¸D¿K¹K×<YÑ<YÐ\]Õ<]Õ5^Ö_ñ 0ñ A÷ p×oú÷ [×ZÐZús   Â%!H7Ã>!I
È7I	É
I	c                óD   <€ V ^8„  d   QhRS[ P                  S[,          /# )r   Úinput_lengths)ÚtorchÚ
LongTensorÚint)ÚformatrO   s   "€r<   Ú__annotate__Ú"HubertPreTrainedModel.__annotate__§   s    ø€ ÷ ñ ¹e×>NÑ>NÑQTÕ>Tñ rE   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_lengthr   Ústrides   &&&r<   Ú_conv_out_lengthÚPHubertPreTrainedModel._get_feat_extract_output_lengths.<locals>._conv_out_length¬   s    € ô —9’9˜\Õ7¸ÈwÔWÐZ[Õ[Ð[rE   )Úzipr:   Úconv_kernelÚconv_stride)r9   r‰   r—   r   r–   s   &&   r<   Ú _get_feat_extract_output_lengthsÚ6HubertPreTrainedModel._get_feat_extract_output_lengths§   sG   € ò
	\ô
 $' t§{¡{×'>Ñ'>ÀÇÁ×@WÑ@WÖ#XÑˆKÙ,¨]ÈÓPŠMñ $Yð ÐrE   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   Úfeature_vector_lengthÚattention_mask)rŒ   rŠ   r‹   )r�   rO   s   "€r<   rŽ   r�   ¶   s"   ø€ ÷ 
ñ 
Éð 
Ñ]b×]mÑ]mñ 
rE   c                óþ  € V P                  VP                  R4      4      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# )r?   )ÚdtypeÚdevice)r£   rZ   )rœ   ÚsumÚtorŠ   ÚlongÚshapeÚzerosr¢   r£   ÚarangeÚflipÚcumsumÚbool)r9   rŸ   r    Úoutput_lengthsÚ
batch_sizes   &&&  r<   Ú"_get_feature_vector_attention_maskÚ8HubertPreTrainedModel._get_feature_vector_attention_mask¶   sÔ   € Ø×>Ñ>¸~×?QÑ?QÐRTÓ?UÓV×YÑYÔZ_×ZdÑZdÓeˆØ#×)Ñ)¨!Õ,ˆ
äŸšØÐ/°~×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ˆØÐrE   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r   r:   r   )r�   rO   s   "€r<   rŽ   r�   }   s   ø‡ ‚ áÑò rE   rQ   )rG   rH   rI   rJ   Úbase_model_prefixÚmain_input_nameÚinput_modalitiesÚ_no_split_modulesÚsupports_gradient_checkpointingÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnrr   Ú!HubertEncoderLayerStableLayerNormr   ÚHubertAttentionÚ_can_record_outputsrŠ   Úno_gradr{   rœ   r¯   Ú__annotate_func__rK   rL   rM   rN   s   @@r<   rn   rn   }   s•   ù‡ € ð !ÐØ$€OØÐØ-Ð/CÐDÐØ&*Ð#ØÐØ€NØÐàÐ,Ð.OÐPØ‘n _¸AÈ)ÔTðÐð
 ‡]‚]ƒ_ô`ó ð`÷2ð ÷
ð 
÷s … rE   rn   c                   óZ   a a€ ] tR t^Ãt oV3R lV 3R lltR tRV3R lR lltRtVtV ;t	# )r�   c                ó    <€ V ^8„  d   QhRS[ /# r²   r   )r�   rO   s   "€r<   rŽ   ÚHubertModel.__annotate__Ä   s   ø€ ÷ ñ ™|ñ rE   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P                   '       d   \#        V4      V n        M\'        V4      V n        V P)                  4        V =R# )g        N)r!   r"   r:   rU   Úfeature_extractorrW   Úfeature_projectionÚmask_time_probÚmask_feature_probr#   Ú	ParameterrŠ   ÚTensorr%   r‚   ry   Údo_stable_layer_normrl   ru   rj   Ú	post_initÚadapterre   s   &&€r<   r"   ÚHubertModel.__init__Ä   s¨   ø€ Ü‰Ñ˜Ô ØŒÜ!5°fÓ!=ˆÔÜ"9¸&Ó"AˆÔà× Ñ  3Ô&¨&×*BÑ*BÀSÔ*HÜ%'§\¢\´%·,²,¸v×?QÑ?QÓ2R×2[Ñ2[Ó2]Ó%^ˆDÔ"à×&×&Ð&Ü7¸Ó?ˆD�Lä(¨Ó0ˆDŒLð 	�‰ÔàŠLrE   c                ó   € \        R 4      h)zNot needed for Hubert)ÚAttributeError)r9   s   &r<   Úfreeze_feature_encoderÚ"HubertModel.freeze_feature_encoder×   s   € ÜÐ4Ó5Ð5rE   c                óä   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[R,          RS[S[,          /# )	r   rp   Nr    Úmask_time_indicesÚoutput_attentionsÚoutput_hidden_statesÚreturn_dictÚreturn)rŠ   rÉ   ÚFloatTensorr¬   Útupler   )r�   rO   s   "€r<   rŽ   rÂ   Ú   sˆ   ø€ ÷ E
ñ E
á—l‘l TÕ)ðE
ñ Ÿ™ tÕ+ðE
ñ !×,Ñ,¨tÕ3ð	E
ñ
   $�;ðE
ñ # T�kðE
ñ ˜D•[ðE
ñ 
‘Õ	 ñE
rE   c                ó8  € 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 P	                  V4      pVP                  ^^4      pVe$   V P                  VP                  ^,          V4      pV P                  V4      p	V P                  W“R7      p	V P                  V	VVVVR7      p
V
^ ,          p	V'       g   V	3V
R,          ,           # \        V	V
P                  V
P                  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.

Example:

```python
>>> from transformers import AutoProcessor, HubertModel
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("facebook/hubert-large-ls960-ft")
>>> model = HubertModel.from_pretrained("facebook/hubert-large-ls960-ft")


>>> def map_to_array(example):
...     example["speech"] = example["audio"]["array"]
...     return example


>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.map(map_to_array)

>>> input_values = processor(ds["speech"][0], return_tensors="pt").input_values  # Batch size 1
>>> hidden_states = model(input_values).last_hidden_state
```)rÓ   )r    rÔ   rÕ   rÖ   :r?   NN)Úlast_hidden_staterB   rt   )r:   rÔ   rÕ   rÖ   rÄ   r@   r¯   r§   rÅ   Ú_mask_hidden_statesru   r   rB   rt   )r9   rp   r    rÓ   rÔ   rÕ   rÖ   ÚkwargsÚextract_featuresrB   Úencoder_outputss   &&&&&&&,   r<   rC   ÚHubertModel.forwardÚ   s'  € ðH 2CÒ1NÑ-ÐTX×T_ÑT_×TqÑTqÐà$8Ò$DÑ È$Ï+É+×JjÑJjð 	ð &1Ò%<‘kÀ$Ç+Á+×BYÑBYˆà×1Ñ1°,Ó?ÐØ+×5Ñ5°a¸Ó;ÐàÒ%à!×DÑDÐEU×E[ÑE[Ð\]ÕE^Ð`nÓoˆNà×/Ñ/Ð0@ÓAˆØ×0Ñ0°Ð0ÓdˆàŸ,™,ØØ)Ø/Ø!5Ø#ð 'ó 
ˆð (¨Õ*ˆçØ!Ð# o°bÕ&9Õ9Ð9äØ+Ø)×7Ñ7Ø&×1Ñ1ô
ð 	
rE   )r:   ru   rÄ   rÅ   ry   )NNNNN)
rG   rH   rI   rJ   r"   rÐ   rC   rK   rL   rM   rN   s   @@r<   r�   r�   Ã   s&   ù‡ € ÷ó ò&6÷E
÷ E
ò E
rE   r�   c                   ó   € ] tR tRtRtR# )ÚHubertForCTCi"  rQ   NrR   rQ   rE   r<   râ   râ   "  rS   rE   râ   c                   ó   € ] tR tRtRtR# )rƒ   i&  rQ   NrR   rQ   rE   r<   rƒ   rƒ   &  rS   rE   rƒ   )râ   rƒ   r�   rn   )*Ú__doc__rŠ   Útorch.nnr#   Ú r   r}   Úactivationsr   Úintegrations.deepspeedr   Úmodeling_outputsr   Úmodeling_utilsr   r,   r   Úutils.output_capturingr   Úwav2vec2.modeling_wav2vec2r	   r
   r   r   r   r   r   Úconfiguration_hubertr   Ú_HIDDEN_STATES_START_POSITIONÚModuler   r6   rU   rW   rj   rl   rn   r�   râ   rƒ   Ú__all__rQ   rE   r<   Ú<module>rñ      sç   ðñ ã Ý å &Ý !Ý @Ý /Ý -Ý #Ý 4÷÷ ñ õ /ð !"Ð ô/ B§I¡Iô /ôd	Ð-ô 	ô	Ð1ô 	ô˜bŸi™iô ô$	�Oô 	ô	Ð#Aô 	ð ôB˜Oó Bó ðBôJ\
�-Ð!6ô \
ô~	�>ô 	ô	Ð&Gô 	ò f‚rE   