+
    œ°³jíÀ  ã                   ó¤  € ^ RI t ^ RIHt ^ RIHt ^ RIt^ RIHt ^RIHt	 ^RI
Ht ^RI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 ^RIHtH t H!t!H"t"H#t# ^RI$H%t% ^RI&H't'H(t( ^RI)H*t* ^RI+H,t, ^RI-H.t.H/t/H0t0H1t1 ^RI2H3t3H4t4H5t5 ]#Pl                  ! ]74      t8]!! RR7      ] ! R R]4      4       4       t9 ! R R]Pt                  4      t; ! R R]Pt                  4      t< ! R R]Pt                  4      t=R t>]! R4      RGR  l4       t?R! R" lt@RHR# R$ lltA]! ]?4       ! R% R&]Pt                  4      4       tB ! R' R(]Pt                  4      tC ! R) R*]4      tD]! ! R+ R,]4      4       tE]!! R-R7       ! R. R/]E4      4       tF] ! R0 R1]4      4       tG] ! R2 R3]G4      4       tH ! R4 R5]P’                  4      tJ]!! R6R7       ! R7 R8]E]4      4       tK ! R9 R:]Pt                  4      tL ! R; R<]Pt                  4      tM] ! R= R>]4      4       tN]!! R?R7       ! R@ RA]E]44      4       tO ! RB RC]M4      tP]!! RDR7       ! RE RF]5]O4      4       tQ. RIOtRR# )Jé    N)ÚCallable)Ú	dataclass)Únn)Úinitialization)ÚACT2FN)ÚCompileConfigÚGenerationMixinÚGenerationMode)Úuse_kernel_forward_from_hubÚuse_kernelized_func)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚBaseModelOutputWithPoolingÚCausalLMOutput)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)ÚModelOutputÚTransformersKwargsÚauto_docstringÚcan_return_tupleÚlogging)Údeprecate_kwarg)Úmaybe_autocastÚmerge_with_config_defaults)Úcapture_outputs)Ú	AutoModel)ÚParakeetCTCConfigÚParakeetEncoderConfigÚParakeetRNNTConfigÚParakeetTDTConfig)ÚParakeetRNNTDecoderCacheÚParakeetRNNTGenerationMixinÚParakeetTDTGenerationMixinz¨
    Extends [~modeling_outputs.BaseModelOutputWithPooling] to include the output attention mask since sequence length
    is not preserved in the model's forward.
    )Úcustom_introc                   ó4   a € ] tR t^0t o RtRtV 3R ltRtV tR# )ÚParakeetEncoderModelOutputa~  
attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
    Mask to avoid performing attention on padding token indices after sequence compression. Returned because the
    sequence length may differ from the input sequence length. Mask values selected in `[0, 1]`:

    - 1 for tokens that are **not masked**,
    - 0 for tokens that are **masked**.
Nc                óH   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   # )é   NÚattention_mask©ÚtorchÚTensor)ÚformatÚ__classdict__s   "€Úo/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/parakeet/modeling_parakeet.pyÚ__annotate__Ú'ParakeetEncoderModelOutput.__annotate__0   s   ø‡ ‚ ñ" —L‘L 4Õ'Ñ.ò# ó    © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r/   s   @r0   r'   r'   0   s   ø‡ € ñð +/€N÷# ƒ r3   r'   c                   óÐ   a a€ ] tR t^Dt o]! RRR7      RV3R lV 3R lll4       t]]! RRR7      RV3R lR ll4       4       t]P                  ! 4       V3R lR	 l4       t
R
tVtV ;t# )Ú$ParakeetEncoderRelPositionalEncodingÚdevicez5.18)Úversionc                ó    <€ V ^8„  d   QhRS[ /# ©r)   Úconfig©r   )r.   r/   s   "€r0   r1   Ú1ParakeetEncoderRelPositionalEncoding.__annotate__F   s   ø€ ÷ >ñ >Ñ4ñ >r3   c                ó®   <€ \         SV `  4        VP                  V n        Wn        V P	                  W4      p\
        P                  ! VR R7      V n        R# )F)Ú
persistentN)ÚsuperÚ__init__Úmax_position_embeddingsrD   Ú.compute_default_relative_positional_parametersr   ÚBufferÚinv_freq)ÚselfrD   r@   rN   Ú	__class__s   &&& €r0   rJ   Ú-ParakeetEncoderRelPositionalEncoding.__init__E   sC   ø€ ä‰ÑÔØ'-×'EÑ'EˆÔ$ØŒØ×FÑFÀvÓVˆÜŸ	š	 (°uÔ=ˆŽr3   c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r)   rD   Úreturn)r   r,   r-   )r.   r/   s   "€r0   r1   rF   O   s#   ø€ ÷ #ñ #Ñ?Tð #Ñfk×frÑfrñ #r3   c           	     óÊ   € R pRV\         P                  ! ^ V P                  ^\         P                  R7      V P                  ,          ,          ,          pVP	                  V4      # )g     ˆÃ@ç      ð?©Údtype)r,   ÚarangeÚhidden_sizeÚfloatÚto)rD   r@   ÚbaserN   s   &&  r0   rL   ÚSParakeetEncoderRelPositionalEncoding.compute_default_relative_positional_parametersM   sO   € ð ˆØ˜$¤5§<¢<°°6×3EÑ3EÀqÔPU×P[ÑP[Ô#\Ð_e×_qÑ_qÕ#qÕrÕsˆØ�{‰{˜6Ó"Ð"r3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r)   Úhidden_statesr+   )r.   r/   s   "€r0   r1   rF   U   s   ø€ ÷ 7ñ 7¡U§\¡\ñ 7r3   c                óÚ  € VP                   ^,          p\        P                  ! V^,
          V) R	VP                  R7      pV P                  R
,          P                  4       P                  VP                   ^ ,          R	^4      P                  VP                  4      pVR,          P                  4       p\        VP                  P                  \        4      '       d2   VP                  P                  R8w  d   VP                  P                  MRp\        VRR7      ;_uu_ 4        VP                  4       VP                  4       ,          P                  ^^4      pVP                  4       pVP                  4       p	\        P                  ! W‰.R	R7      p
V
P                   ! . V
P                   RR OR	N5!  p
RRR4       X
P                  VP"                  R7      #   + '       g   i     L,; i)é   ©r@   NÚmpsÚcpuF)Údevice_typeÚenabled©ÚdimrV   éÿÿÿÿ)NºNNNN)NNrk   éþÿÿÿ)Úshaper,   rX   r@   rN   rZ   Úexpandr[   Ú
isinstanceÚtypeÚstrr   Ú	transposeÚsinÚcosÚstackÚreshaperW   )rO   r`   Ú
seq_lengthÚposition_idsÚinv_freq_expandedÚposition_ids_expandedrf   Úfreqsrs   rt   Ú	pos_embeds   &&         r0   ÚforwardÚ,ParakeetEncoderRelPositionalEncoding.forwardT   s‡  € à"×(Ñ(¨Õ+ˆ
Ü—|’| J°¥N°Z°KÀÈM×L`ÑL`Ôaˆà�M‰M˜-Õ(×.Ñ.Ó0×7Ñ7¸×8KÑ8KÈAÕ8NÐPRÐTUÓV×YÑYÐZg×ZnÑZnÓoð 	ð !-¨]Õ ;× AÑ AÓ CÐô ˜-×.Ñ.×3Ñ3´S×9Ò9¸m×>RÑ>R×>WÑ>WÐ[`Ô>`ð × Ñ ×%Ò%àð 	ô
 ¨¸U×CÖCØ&×,Ñ,Ó.Ð1F×1LÑ1LÓ1NÕN×YÑYÐZ[Ð]^Ó_ˆEØ—)‘)“+ˆCØ—)‘)“+ˆCäŸš S J°BÔ7ˆIØ!×)Ò)ÐD¨9¯?©?¸3¸BÐ+?ÐDÀÓDˆI÷ Dð �|‰| -×"5Ñ"5ˆ|Ó6Ð6÷ D×Cús   Ä%BGÇG*	)rD   rN   rK   ©N)r5   r6   r7   r8   r   rJ   ÚstaticmethodrL   r,   Úno_gradr}   r;   r<   Ú__classcell__©rP   r/   s   @@r0   r?   r?   D   sj   ù‡ € Ù�X vÔ.÷>ô >ó /ð>ð Ù�X vÔ.÷#ñ #ó /ó ð#ð
 ‡]‚]ƒ_÷7ó ÷7ð 7r3   r?   c                   óD   a a€ ] tR t^mt oV3R lV 3R lltR tRtVtV ;t# )ÚParakeetEncoderFeedForwardc                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú'ParakeetEncoderFeedForward.__annotate__n   s   ø€ ÷ <ñ <Ñ4ñ <r3   c                ón  <€ \         SV `  4        \        P                  ! VP                  VP
                  VP                  R 7      V n        \        VP                  ,          V n
        \        P                  ! VP
                  VP                  VP                  R 7      V n        VP                  V n        R# )©ÚbiasN)rI   rJ   r   ÚLinearrY   Úintermediate_sizeÚattention_biasÚlinear1r   Ú
hidden_actÚ
activationÚlinear2Úactivation_dropout©rO   rD   rP   s   &&€r0   rJ   Ú#ParakeetEncoderFeedForward.__init__n   s|   ø€ Ü‰ÑÔÜ—y’y ×!3Ñ!3°V×5MÑ5MÐTZ×TiÑTiÔjˆŒÜ  ×!2Ñ!2Õ3ˆŒÜ—y’y ×!9Ñ!9¸6×;MÑ;MÐTZ×TiÑTiÔjˆŒØ"(×";Ñ";ˆÖr3   c                óÒ   € V P                  V P                  V4      4      p\        P                  P	                  WP
                  V P                  R 7      pV P                  V4      pV# )©ÚpÚtraining)r�   rŽ   r   Ú
functionalÚdropoutr’   r˜   r‘   )rO   r`   s   &&r0   r}   Ú"ParakeetEncoderFeedForward.forwardu   sS   € ØŸ™¨¯©°]Ó(CÓDˆÜŸ™×-Ñ-¨m×?VÑ?VÐae×anÑanÐ-ÓoˆØŸ™ ]Ó3ˆØÐr3   )r�   r’   rŽ   r‘   ©	r5   r6   r7   r8   rJ   r}   r;   r<   r‚   rƒ   s   @@r0   r…   r…   m   s   ù‡ € ÷<ó <÷ò r3   r…   c                   óL   a a€ ] tR t^|t oRV3R lV 3R llltRR ltRtVtV ;t# )Ú ParakeetEncoderConvolutionModulec                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú-ParakeetEncoderConvolutionModule.__annotate__}   s   ø€ ÷  
ñ  
Ñ4ñ  
r3   c           
     ór  <€ \         SV `  4        VP                  pVf+   VP                  p\        \        VRR4      ,          V n        M+VR,          p\        VP                  RR4      ,          V n        V^,
          ^,          V n        \        P                  ! V^V,          ^^^ VP                  R7      V n        \        P                  ! VVV^V P                  VVP                  R7      V n        \        P                  ! V4      V n        \        P                  ! W3^^^ VP                  R7      V n        R# )z›
Args:
    config (ParakeetEncoderConfig): Configuration for the model.
    module_config (dict): Configuration for the module (e.g., encoder or decoder).
Nr�   ÚsiluÚkernel_sizer�   )r£   ÚstrideÚpaddingrŠ   )r¤   r¥   ÚgroupsrŠ   )rI   rJ   rY   Úconv_kernel_sizer   Úgetattrr�   Úgetr¥   r   ÚConv1dÚconvolution_biasÚpointwise_conv1Údepthwise_convÚBatchNorm1dÚnormÚpointwise_conv2)rO   rD   Úmodule_configÚchannelsr£   rP   s   &&&  €r0   rJ   Ú)ParakeetEncoderConvolutionModule.__init__}   s  ø€ ô 	‰ÑÔØ×%Ñ%ˆàÒ à ×1Ñ1ˆKÜ$¤W¨V°\À6Ó%JÕKˆD�Oà'¨Õ6ˆKÜ$ ]×%6Ñ%6°|ÀVÓ%LÕMˆDŒOØ# a�¨AÕ-ˆŒÜ!ŸyšyØ�a˜(•l°¸!ÀQÈV×MdÑMdô 
ˆÔô !ŸišiØØØØØ—L‘LØØ×(Ñ(ô
ˆÔô —N’N 8Ó,ˆŒ	Ü!ŸyšyØ¨A°aÀÈ×I`ÑI`ô 
ˆÖr3   c                ó  € VP                  ^^4      pV P                  V4      p\        P                  P	                  V^R7      pVeh   VP
                  \        P                  8X  d   \        P                  ! V( ^R7      pM\        P                  ! VR8H  ( ^R7      pVP                  VR4      pV P                  V4      pV P                  V4      pV P                  V4      pV P                  V4      pVP                  ^^4      # )a!  
Compute convolution module.

Args:
    hidden_states (`torch.Tensor` of shape `(batch, time, channels)`): Input tensor.
    attention_mask (`torch.Tensor` of shape `(batch, 1, time, time)`): Attention mask.

Returns:
    `torch.Tensor`: Output tensor of shape `(batch, time, channels)`.

rh   ç        )rr   r¬   r   r™   ÚglurW   r,   ÚboolÚallÚmasked_fillr­   r¯   r�   r°   )rO   r`   r*   Úall_masked_rowss   &&& r0   r}   Ú(ParakeetEncoderConvolutionModule.forwardŸ   sè   € ð &×/Ñ/°°1Ó5ˆð ×,Ñ,¨]Ó;ˆäŸ™×)Ñ)¨-¸QÐ)Ó?ˆð Ò%Ø×#Ñ#¤u§z¡zÔ1Ü"'§)¢)¨^¨OÀÔ"C‘ä"'§)¢)¨nÀÑ.CÐ,DÈ!Ô"L�Ø)×5Ñ5°oÀsÓKˆMð ×+Ñ+¨MÓ:ˆØŸ	™	 -Ó0ˆØŸ™¨Ó6ˆØ×,Ñ,¨]Ó;ˆà×&Ñ& q¨!Ó,Ð,r3   )r�   r­   r¯   r¥   r¬   r°   r   rœ   rƒ   s   @@r0   rž   rž   |   s   ù‡ € ÷ 
õ  
÷D"-ô "-r3   rž   c                óÌ   € V RRV P                   R,          ^,          13,          pV RV P                   R,          ^,          R13,          p\        P                  ! V) V3RR7      # )z*Rotates half the hidden dims of the input..Nrh   rj   )rm   r,   Úcat)ÚxÚx1Úx2s   &  r0   Úrotate_halfrÁ   Ä   sZ   € à	
ˆ3Ð"�!—'‘'˜"•+ Õ"Ð"Ð"Õ	#€BØ	
ˆ3�—‘˜•˜qÕ Ñ"Ð"Õ	#€BÜ�9Š9�r�c˜2�Y BÔ'Ð'r3   Úrotary_pos_embc                óÈ   € VP                  V4      pVP                  V4      pW,          \        V 4      V,          ,           pW,          \        V4      V,          ,           pWV3# )aI  Applies Rotary Position Embedding to the query and key tensors.

Args:
    q (`torch.Tensor`): The query tensor.
    k (`torch.Tensor`): The key tensor.
    cos (`torch.Tensor`): The cosine part of the rotary embedding.
    sin (`torch.Tensor`): The sine part of the rotary embedding.
    unsqueeze_dim (`int`, *optional*, defaults to 1):
        The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and
        sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note
        that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and
        k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes
        cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have
        the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2.
Returns:
    `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding.
)Ú	unsqueezerÁ   )ÚqÚkrt   rs   Úunsqueeze_dimÚq_embedÚk_embeds   &&&&&  r0   Úapply_rotary_pos_embrÊ   Ë   sS   € ð& �-‰-˜Ó
&€CØ
�-‰-˜Ó
&€CØ�wœ; q›>¨CÕ/Õ0€GØ�wœ; q›>¨CÕ/Õ0€GØÐÐr3   c                ód   € V ^8„  d   QhR\         P                  R\        R\         P                  /# )r)   r`   Ún_reprS   ©r,   r-   Úint)r.   s   "r0   r1   r1   å   s.   € ÷ 	Uñ 	UœUŸ\™\ð 	U´#ð 	U¼%¿,¹,ñ 	Ur3   c                ó˜   € V P                   w  r#rEV^8X  d   V # V R,          P                  W#WV4      p V P                  W#V,          WE4      # )zÈ
This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
)rk   rk   Nrk   rk   )rm   rn   rv   )r`   rÌ   ÚbatchÚnum_key_value_headsÚslenÚhead_dims   &&    r0   Ú	repeat_kvrÔ   å   sU   € ð
 2?×1DÑ1DÑ.€E Ø�„zØÐØ!Ð"2Õ3×:Ñ:¸5ÐW\ÐdlÓm€MØ× Ñ  ¸eÕ(CÀTÓTÐTr3   c                ó   € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R\        R	\
        \        ,          /# )
r)   ÚmoduleÚqueryÚkeyÚvaluer*   NÚscalingrš   Úkwargs)r   ÚModuler,   r-   rZ   r   r   )r.   s   "r0   r1   r1   ñ   sw   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô ð%ô ð%ô Ô'Õ(ñ%r3   c                 ó"  € \        W P                  4      p\        W0P                  4      p	\        P                  ! WP	                  ^^4      4      V,          p
Ve	   W¤,           p
\
        P                  P                  V
R\        P                  R7      P                  VP                  4      p
\
        P                  P                  W¦V P                  R7      p
\        P                  ! W©4      pVP	                  ^^4      P                  4       pWº3# )r)   ©ri   rW   r–   rj   )rÔ   Únum_key_value_groupsr,   Úmatmulrr   r   r™   ÚsoftmaxÚfloat32r[   rW   rš   r˜   Ú
contiguous)rÖ   r×   rØ   rÙ   r*   rÚ   rš   rÛ   Ú
key_statesÚvalue_statesÚattn_weightsÚattn_outputs   &&&&&&&,    r0   Úeager_attention_forwardrè   ñ   sÒ   € ô ˜3× ;Ñ ;Ó<€JÜ˜U×$?Ñ$?Ó@€Lä—<’< ×';Ñ';¸A¸qÓ'AÓBÀWÕL€LØÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2ÄUÇ]Á]Ð(ÓS×VÑVÐW\×WbÑWbÓc€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€LÜ—,’,˜|Ó:€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r3   c                   ó^   a a€ ] tR tRt oRtV3R lV 3R lltR	V3R lR lltR tRtVt	V ;t
# )
ÚParakeetEncoderAttentioni
  ztMulti-head attention with relative positional encoding. See section 3.3 of https://huggingface.co/papers/1901.02860.c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r)   rD   Ú	layer_idx©r   rÎ   )r.   r/   s   "€r0   r1   Ú%ParakeetEncoderAttention.__annotate__  s    ø€ ÷ [ñ [Ñ4ð [Áñ [r3   c                ó8  <€ \         SV `  4        Wn        W n        \	        VR VP
                  VP                  ,          4      V n        VP                  VP                  ,          V n	        V P                  R,          V n
        VP                  V n        RV n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP                  V P                  ,          VP
                  VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          RR7      V n        \        P*                  ! \,        P.                  ! VP                  V P                  4      4      V n        \        P*                  ! \,        P.                  ! VP                  V P                  4      4      V n        R# )rÓ   Fr‰   Ng      à¿)rI   rJ   rD   rì   r¨   rY   Únum_attention_headsrÓ   rÑ   rß   rÚ   Úattention_dropoutÚ	is_causalr   r‹   r�   Úq_projÚk_projÚv_projÚo_projÚrelative_k_projÚ	Parameterr,   ÚzerosÚbias_uÚbias_v©rO   rD   rì   rP   s   &&&€r0   rJ   Ú!ParakeetEncoderAttention.__init__  sÃ  ø€ Ü‰ÑÔØŒØ"ŒÜ ¨
°F×4FÑ4FÈ&×JdÑJdÕ4dÓeˆŒØ$*×$>Ñ$>À&×B\ÑB\Õ$\ˆÔ!Ø—}‘} dÕ*ˆŒØ!'×!9Ñ!9ˆÔØˆŒä—i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×&Ñ&¨¯©Õ6¸×8JÑ8JÐQW×QfÑQfô
ˆŒô  "Ÿyšy¨×);Ñ);¸V×=WÑ=WÐZ^×ZgÑZgÕ=gÐnsÔtˆÔä—l’l¤5§;¢;¨v×/IÑ/IÈ4Ï=É=Ó#YÓZˆŒä—l’l¤5§;¢;¨v×/IÑ/IÈ4Ï=É=Ó#YÓZˆŽr3   c                óÞ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[ P                  S[ P                  3,          /# )r)   r`   Úposition_embeddingsNr*   rÛ   rS   )r,   r-   r   r   Útuple)r.   r/   s   "€r0   r1   rî   +  sk   ø€ ÷ 7)ñ 7)á—|‘|ð7)ñ #Ÿ\™\¨DÕ0ð7)ñ Ÿ™ tÕ+ð	7)ñ
 Ñ+Õ,ð7)ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ7)r3   c                ó2  € VP                   R R
 pVw  rgWgR
V P                  3pV P                  V4      P                  V4      P	                  ^^4      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W�P                  P                  ^V P                  P                  ^V P                  4      ,           pW�P                  P                  ^V P                  P                  ^V P                  4      ,           pV P                  V4      pVP                  VR
V P                  P                  V P                  4      pWïP!                  ^ ^^^4      ,          pV P#                  V4      pVRR V13,          pVV P$                  ,          pVe*   VP'                  VP)                  4       \+        R4      4      pT! V 3RTRT
RTRTRV P,                  '       g   RMV P.                  R	V P$                  /VB w  ppVP0                  ! . VOR
N5!  P3                  4       pV P5                  V4      pVV3# )N.z-infr×   rØ   rÙ   r*   rš   rµ   rÚ   rj   )rm   rÓ   ró   Úviewrr   rô   rõ   r   Úget_interfacerD   Ú_attn_implementationrè   rú   rð   rû   r÷   ÚpermuteÚ
_rel_shiftrÚ   Úmasked_fill_Úlogical_notrZ   r˜   rñ   rv   rã   rö   )rO   r`   rÿ   r*   rÛ   Úinput_shapeÚ
batch_sizerw   Úhidden_shapeÚquery_statesrä   rå   Úattention_interfaceÚquery_states_with_bias_uÚquery_states_with_bias_vÚrelative_key_statesÚ	matrix_bdrç   ræ   s   &&&&,              r0   r}   Ú ParakeetEncoderAttention.forward+  s‚  € ð $×)Ñ)¨#¨2Ð.ˆØ!,Ñˆ
Ø"°°D·M±MÐBˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðð $0·+±+×2BÑ2BØˆt�{‰{×.Ñ.°°4·=±=ó3
õ $
Ð ð $0·+±+×2BÑ2BØˆt�{‰{×.Ñ.°°4·=±=ó3
õ $
Ð ð #×2Ñ2Ð3FÓGÐØ1×6Ñ6°zÀ2ÀtÇ{Á{×GfÑGfÐhl×huÑhuÓvÐð -×/JÑ/JÈ1ÈaÐQRÐTUÓ/VÕVˆ	Ø—O‘O IÓ.ˆ	Ø˜c ; J ;Ð.Õ/ˆ	Ø §¡Õ,ˆ	àÒ%ð "×.Ñ.¨~×/IÑ/IÓ/KÌUÐSYË]Ó[ˆIñ %8Øñ	%
à*ð	%
ð ð	%
ð ð		%
ð
 %ð	%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØ˜LÐ(Ð(r3   c                ó¾   € VP                   w  r#rE\        P                  P                  VRR7      pVP	                  W#RV4      pVR,          P	                  W#WE4      pV# )ztRelative position shift for Shaw et al. style attention. See appendix B of https://huggingface.co/papers/1901.02860.)Úpad)rb   r   rj   )rk   rk   :rb   NN)rm   r   r™   r  r  )rO   Úattention_scoresr
  Ú	num_headsÚquery_lengthÚposition_lengths   &&    r0   r  Ú#ParakeetEncoderAttention._rel_shiftd  sa   € à?O×?UÑ?UÑ<ˆ
˜|ÜŸ=™=×,Ñ,Ð-=À6Ð,ÓJÐØ+×0Ñ0°ÈÈLÓYÐØ+¨HÕ5×:Ñ:¸:ÐR^ÓpÐØÐr3   )rñ   rú   rû   rD   rÓ   rò   rô   rì   rß   rö   ró   r÷   rÚ   rõ   r   )r5   r6   r7   r8   r9   rJ   r}   r  r;   r<   r‚   rƒ   s   @@r0   rê   rê   
  s)   ù‡ € á~÷[ó [÷:7)ò 7)÷r ò  r3   rê   c                   óf   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltR	V3R lR lltRtVtV ;t	# )
Ú ParakeetEncoderSubsamplingConv2Dim  c                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   Ú-ParakeetEncoderSubsamplingConv2D.__annotate__n  s   ø€ ÷ !nñ !nÑ4ñ !nr3   c                óJ  <€ \         SV `  4        VP                  V n        VP                  V n        VP                  V n        V P                  ^,
          ^,          V n        \        \        P                  ! VP                  4      4      V n        \        P                  ! 4       V n        V P                   P#                  \        P$                  ! ^V P                  V P                  V P
                  V P                  R7      4       V P                   P#                  \        P&                  ! 4       4       \)        V P                  ^,
          4       Fè  pV P                   P#                  \        P$                  ! V P                  V P                  V P                  V P
                  V P                  V P                  R7      4       V P                   P#                  \        P$                  ! V P                  V P                  ^R7      4       V P                   P#                  \        P&                  ! 4       4       Kê  	  VP*                  V P
                  V P                  ,          ,          p\        P,                  ! VP                  V,          VP.                  RR7      V n        R# )rb   )r£   r¤   r¥   )r£   r¤   r¥   r¦   ©r£   Tr‰   N)rI   rJ   Úsubsampling_conv_kernel_sizer£   Úsubsampling_conv_strider¤   Úsubsampling_conv_channelsr²   r¥   rÎ   ÚmathÚlog2Úsubsampling_factorÚ
num_layersr   Ú
ModuleListÚlayersÚappendÚConv2dÚReLUÚrangeÚnum_mel_binsr‹   rY   Úlinear)rO   rD   ÚiÚ
out_lengthrP   s   &&  €r0   rJ   Ú)ParakeetEncoderSubsamplingConv2D.__init__n  sµ  ø€ Ü‰ÑÔà!×>Ñ>ˆÔØ×4Ñ4ˆŒØ×8Ñ8ˆŒØ×(Ñ(¨1Õ,°Õ2ˆŒÜœdŸiši¨×(AÑ(AÓBÓCˆŒô —m’m“oˆŒØ�‰×ÑÜ�IŠI�a˜Ÿ™°D×4DÑ4DÈTÏ[É[Ðbf×bnÑbnÔoô	
ð 	�‰×Ñœ2Ÿ7š7›9Ô%Ü�t—‘¨Õ*Ö+ˆAà�K‰K×ÑÜ—	’	Ø—M‘MØ—M‘MØ $× 0Ñ 0ØŸ;™;Ø ŸL™LØŸ=™=ôô	ð �K‰K×ÑœrŸyšy¨¯©¸¿¹ÐSTÔUÔVà�K‰K×ÑœrŸwšw›yÖ)ñ ,ð" ×(Ñ(¨T¯[©[¸$¿/¹/Õ-IÕJˆ
Ü—i’i × @Ñ @À:Õ MÈv×OaÑOaÐhlÔmˆŽr3   c                óN   <€ V ^8„  d   QhRS[ P                  RS[P                  /# )r)   Úinput_lengthsÚ
conv_layer)r,   r-   r   r*  )r.   r/   s   "€r0   r1   r  ‘  s#   ø€ ÷ 	ñ 	±·±ð 	É"Ï)É)ñ 	r3   c                ó  € \        VR 4      '       dx   VP                  R8w  dg   VP                  pVP                  ^ ,          pVP                  ^ ,          pW^ ,          ,           V^,          ,           V,
          V,          ^,           pV# V# )r¤   )rb   rb   )Úhasattrr¤   r¥   r£   )rO   r3  r4  r¥   r£   r¤   Úoutput_lengthss   &&&    r0   Ú_get_output_lengthÚ3ParakeetEncoderSubsamplingConv2D._get_output_length‘  sy   € Ü�:˜x×(Ò(¨Z×->Ñ->À&Ô-HØ ×(Ñ(ˆGØ$×0Ñ0°Õ3ˆKØ×&Ñ& qÕ)ˆFà+°a­jÕ8¸7À1½:ÕEÈÕSÐX^Õ^ÐabÕbˆNØ!Ð!àÐr3   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r)   Úinput_featuresr*   r+   )r.   r/   s   "€r0   r1   r  œ  s#   ø€ ÷ ñ ¡e§l¡lð ÁEÇLÁLñ r3   c                óD  € VP                  ^4      pVe   VP                  R4      MRpV P                   F‘  pV! V4      p\        V\        P
                  4      '       g   K-  Vf   K3  V P                  WE4      pVP                  ^,          p\        P                  ! WbP                  R7      VR,          8  pW7R,          ,          pK“  	  VP                  ^^4      P                  VP                  ^ ,          VP                  ^,          R4      pV P                  V4      pV# )rb   Nrc   rj   ©rk   N)rk   Nrk   N)rÄ   Úsumr(  ro   r   r*  r8  rm   r,   rX   r@   rr   rv   r.  )rO   r;  r*   r`   Úcurrent_lengthsÚlayerÚcurrent_seq_lengthÚchannel_masks   &&&     r0   r}   Ú(ParakeetEncoderSubsamplingConv2D.forwardœ  s   € Ø&×0Ñ0°Ó3ˆØ4BÒ4N˜.×,Ñ,¨RÔ0ÐTXˆà—[”[ˆEÙ! -Ó0ˆMô ˜%¤§¡×+Ô+°Ô0JØ"&×"9Ñ"9¸/Ó"Q�Ø%2×%8Ñ%8¸Õ%;Ð"ä—L’LÐ!3×<QÑ<QÔRÐUdÐelÕUmÑmð ð Ð.>Õ!?Õ?’ñ !ð &×/Ñ/°°1Ó5×=Ñ=¸m×>QÑ>QÐRSÕ>TÐVc×ViÑViÐjkÕVlÐnpÓqˆØŸ™ MÓ2ˆàÐr3   )r²   r£   r(  r.  r&  r¥   r¤   r   )
r5   r6   r7   r8   rJ   r8  r}   r;   r<   r‚   rƒ   s   @@r0   r  r  m  s+   ù‡ € ÷!nó !n÷F	ð 	÷÷ ò r3   r  c                   óX   a a€ ] tR tRt o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# )	ÚParakeetEncoderBlocki²  c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r)   rD   rì   Nrí   )r.   r/   s   "€r0   r1   Ú!ParakeetEncoderBlock.__annotate__³  s    ø€ ÷ 9ñ 9Ñ4ð 9ÁÀtÅñ 9r3   c                ó$  <€ \         SV `  4        R V n        \        V4      V n        \        W4      V n        \        V4      V n        \        V4      V n	        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        R# )FN)rI   rJ   Úgradient_checkpointingr…   Úfeed_forward1rê   Ú	self_attnrž   ÚconvÚfeed_forward2r   Ú	LayerNormrY   Únorm_feed_forward1Únorm_self_attÚ	norm_convÚnorm_feed_forward2Únorm_outrü   s   &&&€r0   rJ   ÚParakeetEncoderBlock.__init__³  s¹   ø€ Ü‰ÑÔØ&+ˆÔ#ä7¸Ó?ˆÔÜ1°&ÓDˆŒÜ4°VÓ<ˆŒ	Ü7¸Ó?ˆÔä"$§,¢,¨v×/AÑ/AÓ"BˆÔÜŸ\š\¨&×*<Ñ*<Ó=ˆÔÜŸš f×&8Ñ&8Ó9ˆŒÜ"$§,¢,¨v×/AÑ/AÓ"BˆÔÜŸš V×%7Ñ%7Ó8ˆŽr3   c          
      ó´   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[ P                  /# )r)   r`   r*   Nrÿ   rÛ   rS   )r,   r-   r   r   )r.   r/   s   "€r0   r1   rG  Â  s]   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ #Ÿ\™\¨DÕ0ð	ñ
 Ñ+Õ,ðñ 
�‰ñr3   c           	     ó¦  € TpV P                  V P                  V4      4      pVR V,          ,           pV P                  V4      pV P                  ! RRVRVRV/VB w  rxW,           pV P	                  V P                  V4      VR7      p	W,           pV P                  V P                  V4      4      p
VR V
,          ,           pV P                  V4      pV# )g      à?r`   r*   rÿ   )r*   r4   )	rJ  rO  rP  rK  rL  rQ  rM  rR  rS  )rO   r`   r*   rÿ   rÛ   ÚresidualÚnormalized_hidden_statesrç   Ú_Úconv_outputÚ
ff2_outputs   &&&&,      r0   r}   ÚParakeetEncoderBlock.forwardÂ  sã   € ð !ˆØ×*Ñ*¨4×+BÑ+BÀ=Ó+QÓRˆØ  3¨Õ#6Õ6ˆà#'×#5Ñ#5°mÓ#DÐ ØŸšñ 
Ø2ð
à)ð
ð !4ð
ð ñ	
‰ˆð &Õ3ˆà—i‘i §¡¨}Ó =Èn�iÓ]ˆØ%Õ3ˆà×'Ñ'¨×(?Ñ(?ÀÓ(NÓOˆ
Ø%¨¨jÕ(8Õ8ˆàŸ™ mÓ4ˆàÐr3   )
rL  rJ  rM  rI  rQ  rO  rR  rS  rP  rK  r   ©NNrœ   rƒ   s   @@r0   rE  rE  ²  s   ù‡ € ÷9õ 9÷÷ ò r3   rE  c                   óÈ   a a€ ] tR tRt oRtRtRtRtR.tRt	Rt
RtRtRtRtR]R	]/t]P&                  ! 4       V 3R
 l4       tV3R lR ltRV3R lR lltV3R ltRtVtV ;t# )ÚParakeetPreTrainedModeliá  Úmodelr;  ÚaudioTrE  Fr`   Ú
attentionsc                ó¸  <€ \         SV `  V4       \        V P                  R R4      p\	        V\
        4      '       dI   \        P                  ! VP                  RVR7       \        P                  ! VP                  RVR7       R# \	        V\        4      '       d?   VP                  VP                  4      p\        P                  ! VP                  V4       R# R# )Úinitializer_rangeg{®Gáz”?rµ   )ÚmeanÚstdN)rI   Ú_init_weightsr¨   rD   ro   rê   ÚinitÚnormal_rú   rû   r?   rL   Úcopy_rN   )rO   rÖ   rf  Úbuffer_valuerP   s   &&  €r0   rg  Ú%ParakeetPreTrainedModel._init_weights÷  s–   ø€ ä‰Ñ˜fÔ%Ü�d—k‘kÐ#6¸Ó=ˆä�fÔ6×7Ò7Ü�LŠL˜Ÿ™¨S°cÕ:Ü�LŠL˜Ÿ™¨S°c×:Ü˜Ô D×EÒEØ!×PÑPÐQW×Q^ÑQ^Ó_ˆLÜ�JŠJ�v—‘¨Ö5ñ Fr3   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r)   r3  r+   )r.   r/   s   "€r0   r1   Ú$ParakeetPreTrainedModel.__annotate__  s   ø€ ÷ +ñ +¹E¿L¹Lñ +r3   c                ó  € \        V P                  R V P                  4      pVP                  pVP                  p\	        \
        P                  ! VP                  4      4      pV^,
          ^,          ^,          pWc,
          pTp\        V4       F\  p	\        P                  ! VP                  \        P                  R7      V,           V4      R,           p\        P                  ! V4      pK^  	  VP                  \        P                  R7      # )Úencoder_configrV   rU   )r¨   rD   r   r!  rÎ   r#  r$  r%  r,  r,   Údivr[   rZ   Úfloor)
rO   r3  rp  r£   r¤   r&  Úall_paddingsÚadd_padÚlengthsrY  s
   &&        r0   Ú_get_subsampling_output_lengthÚ6ParakeetPreTrainedModel._get_subsampling_output_length  sÆ   € Ü  §¡Ð.>ÀÇÁÓLˆà$×AÑAˆØ×7Ñ7ˆÜœŸš >×#DÑ#DÓEÓFˆ
à# a�¨AÕ-°Õ1ˆØÕ,ˆØˆä�zÖ"ˆAÜ—i’i §
¡
´·± 
Ó =ÀÕ GÈÓPÐSVÕVˆGÜ—k’k 'Ó*ŠGñ #ð �z‰z¤§	¡	ˆzÓ*Ð*r3   c                óH   <€ V ^8„  d   QhRS[ P                  RS[R,          /# )r)   r*   Útarget_lengthNrÍ   )r.   r/   s   "€r0   r1   rn    s&   ø€ ÷ 	ñ 	¹¿¹ð 	ÑVYÐ\`ÕV`ñ 	r3   c                óÈ   € V P                  VP                  R4      4      pVe   TMVP                  4       p\        P                  ! WAP
                  R7      VR,          8  pV# )zæ
Convert the input attention mask to its subsampled form. `target_length` sets the desired output length, useful
when the attention mask length differs from `sum(-1).max()` (i.e., when the longest sequence in the batch is padded)
rc   rj   r=  )rv  r>  Úmaxr,   rX   r@   )rO   r*   ry  r7  Ú
max_lengths   &&&  r0   Ú_get_output_attention_maskÚ2ParakeetPreTrainedModel._get_output_attention_mask  s[   € ð
 ×<Ñ<¸^×=OÑ=OÐPRÓ=SÓTˆà&3Ò&?‘]À^×EWÑEWÓEYˆ
ÜŸš j×9NÑ9NÔOÐR`ÐahÕRiÑiˆØÐr3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   ©r   )r.   r/   s   "€r0   r1   rn  á  s   ø‡ ‚ áÑò r3   r4   r   )r5   r6   r7   r8   Úbase_model_prefixÚmain_input_nameÚinput_modalitiesÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_supports_flat_attention_maskÚ_supports_sdpaÚ_supports_flex_attnÚ_supports_flash_attnÚ_can_compile_fullgraphÚ_supports_attention_backendrE  rê   Ú_can_record_outputsr,   r�   rg  rv  r}  r:   r;   r<   r‚   rƒ   s   @@r0   r_  r_  á  s–   ù‡ € ð  ÐØ&€OØÐØ&*Ð#Ø/Ð0ÐØ$(Ð!Ø€NØÐð !Ðà!ÐØ"&ÐàÐ-ØÐ.ðÐð
 ‡]‚]ƒ_ô	6ó ð	6÷+ð +÷"	ò 	÷g … r3   r_  z{
    The Parakeet Encoder model, based on the [Fast Conformer architecture](https://huggingface.co/papers/2305.05084).
    c                   ó‚   a a€ ] tR tRt oRtV3R lV 3R llt]]]R	V3R lR ll4       4       4       t	V3R lt
RtVtV ;t# )
ÚParakeetEncoderi   Úencoderc                ó    <€ V ^8„  d   QhRS[ /# rC   rE   )r.   r/   s   "€r0   r1   ÚParakeetEncoder.__annotate__)  s   ø€ ÷ ñ Ñ4ñ r3   c           	     ó  <€ \         SV `  V4       Wn        R V n        VP                  V n        VP
                  V n        VP                  V n        VP                  '       d!   \        P                  ! VP                  4      MRV n        \        V4      V n        \        V4      V n        \         P"                  ! \%        VP&                  4       Uu. uF  p\)        W4      NK  	  up4      V n        V P-                  4        R# u upi )FrU   N)rI   rJ   rD   rI  rš   Údropout_positionsÚ	layerdropÚscale_inputr#  ÚsqrtrY   Úinput_scaler  Úsubsamplingr?   Úencode_positionsr   r'  r,  Únum_hidden_layersrE  r(  Ú	post_initrü   s   && €r0   rJ   ÚParakeetEncoder.__init__)  sÉ   ø€ Ü‰Ñ˜Ô ØŒØ&+ˆÔ#à—~‘~ˆŒØ!'×!9Ñ!9ˆÔØ×)Ñ)ˆŒà<B×<N×<NÐ<Nœ4Ÿ9š9 V×%7Ñ%7Ô8ÐTWˆÔÜ;¸FÓCˆÔÜ DÀVÓ LˆÔä—m’mÜFKÈF×LdÑLdÔFeÓfÑFe¸Ô! &Ö4ÑFeÑfó
ˆŒð 	�‰Öùò gs   ÃDc          
      ó~   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[RS[S[,          RS[/# )r)   r;  r*   NÚoutput_attention_maskrÛ   rS   )r,   r-   r·   r   r   r   )r.   r/   s   "€r0   r1   r‘  ?  sW   ø€ ÷ B
ñ B
áŸ™ðB
ñ Ÿ™ tÕ+ðB
ñ  $ð	B
ñ
 Ñ+Õ,ðB
ñ 
ñB
r3   c                óp  € V P                  W4      pWPP                  ,          pV P                  V4      p\        P                  P                  WPP
                  V P                  R7      p\        P                  P                  W`P                  V P                  R7      pRpVe€   V P                  W%P                  ^,          R7      pVP                  ^4      P                  R	VP                  ^,          R	4      pW"P                  ^^4      ,          pVP                  ^4      pV P                   FV  pRp	V P                  '       d)   \        P                  ! . 4      p
W P                   8  d   Rp	V	'       d   KI  V! V3RVRV/VB pKX  	  \#        TVe   V'       d   VP%                  4       R7      # RR7      # )
a  
output_attention_mask (`bool`, *optional*, defaults to `True`):
    Whether to return the output attention mask. Only effective when `attention_mask` is provided.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetEncoder
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> encoder = ParakeetEncoder.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> encoder_outputs = encoder(**inputs)

>>> print(encoder_outputs.last_hidden_state.shape)
```
r–   N©ry  FTr*   rÿ   )Úlast_hidden_stater*   rj   )r˜  r—  r™  r   r™   rš   r˜   r“  r}  rm   rÄ   rn   rr   r(  r,   Úrandr”  r'   rÎ   )rO   r;  r*   rž  rÛ   r`   rÿ   Úoutput_maskÚencoder_layerÚto_dropÚdropout_probabilitys   &&&&,      r0   r}   ÚParakeetEncoder.forward<  s–  € ðD ×(Ñ(¨ÓHˆØ%×(8Ñ(8Õ8ˆØ"×3Ñ3°MÓBÐäŸ™×-Ñ-¨m¿|¹|ÐVZ×VcÑVcÐ-ÓdˆÜ Ÿm™m×3Ñ3Ø×#9Ñ#9ÀDÇMÁMð 4ó 
Ðð ˆØÒ%Ø×9Ñ9¸.×XkÑXkÐlmÕXnÐ9ÓoˆKØ(×2Ñ2°1Ó5×<Ñ<¸RÀ×ATÑATÐUVÕAWÐY[Ó\ˆNØ+×.FÑ.FÀqÈ!Ó.LÕLˆNØ+×5Ñ5°aÓ8ˆNà!Ÿ[œ[ˆMàˆGØ�}�}ˆ}Ü&+§j¢j°£nÐ#Ø&¯©Ô7Ø"�Gç‘7Ù -Ø!ñ!à#1ð!ð )<ð!ð ñ	!’ñ )ô  *Ø+Ø0>Ò0J×Od˜;Ÿ?™?Ó,ô
ð 	
àjnô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rE   )r.   r/   s   "€r0   r1   r‘     s   ø‡ ‚ ñ "Ñ!ò r3   )	rD   rš   r“  r™  rI  r—  r”  r(  r˜  )NT)r5   r6   r7   r8   r�  rJ   r   r   r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   rŽ  rŽ     sJ   ù‡ € ð "Ð÷ó ð& ØØ÷B
ñ B
ó ó  ó ðB
÷? … r3   rŽ  c                   ó<   a € ] tR tRt o RtRtRtRtV 3R ltRt	V t
R# )ÚParakeetCTCGenerateOutputi„  a:  
Outputs of Parakeet CTC model generation.

Args:
    sequences (`torch.LongTensor` of shape `(batch_size, sequence_length)`):
        The generated sequences. The second dimension (sequence_length) is either equal to `max_length` or shorter
        if all batches finished early due to the `eos_token_id`.
    logits (`tuple(torch.FloatTensor)` *optional*, returned when `output_logits=True`):
        Unprocessed prediction scores of the language modeling head (scores for each vocabulary token before SoftMax)
        at each generation step. Tuple of `torch.FloatTensor` with up to `max_new_tokens` elements (one element for
        each generated token), with each tensor of shape `(batch_size, config.vocab_size)`.
    attentions (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `output_attentions=True`):
        Tuple (one element for each generated token) of tuples (one element for each layer of the decoder) of
        `torch.FloatTensor` of shape `(batch_size, num_heads, generated_length, sequence_length)`.
    hidden_states (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `output_hidden_states=True`):
        Tuple (one element for each generated token) of tuples (one element for each layer of the decoder) of
        `torch.FloatTensor` of shape `(batch_size, generated_length, hidden_size)`.
Nc                ó  <€ V ^8„  d   Qh/ S[ P                  ;R&   S[S[ P                  ,          R,          ;R&   S[S[S[ P                  ,          ,          R,          ;R&   S[S[S[ P                  ,          ,          R,          ;R&   # )r)   Ú	sequencesNÚlogitsrb  r`   )r,   Ú
LongTensorr   ÚFloatTensor)r.   r/   s   "€r0   r1   Ú&ParakeetCTCGenerateOutput.__annotate__„  sy   ø‡ ‚ ñ* ×ÑÑñ+ ñ, ‘%×#Ñ#Õ$ tÕ+Ñ2ñ- ñ. ‘e™E×-Ñ-Õ.Õ/°$Õ6Ñ=ñ/ ñ0 ™™u×0Ñ0Õ1Õ2°TÕ9Ñ@ò1 r3   r4   )r5   r6   r7   r8   r9   r­  rb  r`   r:   r;   r<   r=   s   @r0   rª  rª  „  s"   ø‡ € ñð( /3€FØ9=€JØ<@€M÷1 ƒ r3   rª  c                   ó6   a a€ ] tR tRt oRtV 3R ltRtVtV ;t# )ÚParakeetGenerateOutputiŸ  zX
Deprecated alias for ParakeetCTCGenerateOutput. Use ParakeetCTCGenerateOutput instead.
c                óR   <€ \         SV `  ! V/ VB  \        P                  R 4       R# )z€`ParakeetGenerateOutput` is deprecated and removed starting from version 5.11.0; please use `ParakeetCTCGenerateOutput` instead.N)rI   rJ   ÚloggerÚwarning_once)rO   ÚargsrÛ   rP   s   &*,€r0   rJ   ÚParakeetGenerateOutput.__init__¥  s)   ø€ Ü‰Ò˜$Ð) &Ò)Ü×Ñð Oö	
r3   r4   ©	r5   r6   r7   r8   r9   rJ   r;   r<   r‚   rƒ   s   @@r0   r²  r²  Ÿ  s   ù‡ € ñ÷
õ 
r3   r²  c                   ó>   a a€ ] tR tRt oV3R lV 3R lltRtVtV ;t# )ÚParakeetEncoderCTCHeadi¬  c                ó4   <€ V ^8„  d   QhRS[ P                  /# r_   r+   )r.   r/   s   "€r0   r1   Ú#ParakeetEncoderCTCHead.__annotate__­  s   ø€ ÷ Nñ N¡U§\¡\ñ Nr3   c                ób   <€ \         SV `  VP                  ^^4      4      P                  ^^4      # ©rb   )rI   r}   rr   )rO   r`   rP   s   &&€r0   r}   ÚParakeetEncoderCTCHead.forward­  s,   ø€ Ü‰w‰˜}×6Ñ6°q¸!Ó<Ó=×GÑGÈÈ1ÓMÐMr3   r4   )r5   r6   r7   r8   r}   r;   r<   r‚   rƒ   s   @@r0   rº  rº  ¬  s   ù‡ € ÷N÷ Nó Nr3   rº  zS
    Parakeet Encoder with a Connectionist Temporal Classification (CTC) head.
    c                   ó²   a a€ ] tR tRt oV3R lV 3R llt]]R
V3R lR ll4       4       t]P                  ! 4       RV3R lR ll4       t
V3R ltR	tVtV ;t# )ÚParakeetForCTCi±  c                ó    <€ V ^8„  d   QhRS[ /# rC   r€  )r.   r/   s   "€r0   r1   ÚParakeetForCTC.__annotate__¹  s   ø€ ÷ ñ Ñ0ñ r3   c                óò   <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        VP                  P                  VP                  ^R7      V n	        V P                  4        R# )rb   r  N)rI   rJ   r   Úfrom_configrp  r�  rº  rY   Ú
vocab_sizeÚctc_headr›  r“   s   &&€r0   rJ   ÚParakeetForCTC.__init__¹  sV   ø€ Ü‰Ñ˜Ô Ü ×,Ò,¨V×-BÑ-BÓCˆŒä.¨v×/DÑ/D×/PÑ/PÐRX×RcÑRcÐqrÔsˆŒà�‰Ör3   c          
      ó    <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[/# )r)   r;  r*   NÚlabelsrÛ   rS   )r,   r-   r   r   r   )r.   r/   s   "€r0   r1   rÃ  Ã  s`   ø€ ÷ B
ñ B
áŸ™ðB
ñ Ÿ™ tÕ+ðB
ñ —‘˜tÕ#ð	B
ñ
 Ñ+Õ,ðB
ñ 
ñB
r3   c                ór  € Ve   VP                  RR4       V P                  ! RRVRV/VB pVP                  pV P                  V4      pRpVEe3   VP                  P                  R4      p	W0P                  P                  8g  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                  P                  V P                  P&                  V P                  P(                  R	7      pRRR4       \+        VVVP,                  VP.                  R
7      #   + '       g   i     L3; i)aV  
Example:

```python
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> outputs = model(**inputs)

>>> print(outputs.loss)
```Nrž  Tr;  r*   rÞ   F)rg   )ÚblankÚ	reductionÚzero_infinity)Úlossr­  r`   rb  r4   rj   )Ú
setdefaultr�  r¡  rÇ  r*   r>  rD   Úpad_token_idÚmasked_selectr   r™   Úlog_softmaxr,   râ   rr   ÚbackendsÚcudnnÚflagsÚctc_lossÚctc_loss_reductionÚctc_zero_infinityr   r`   rb  )rO   r;  r*   rÊ  rÛ   Úencoder_outputsr`   r­  rÏ  Úencoder_lengthsÚlabels_maskÚtarget_lengthsÚflattened_targetsÚ	log_probss   &&&&,         r0   r}   ÚParakeetForCTC.forwardÁ  s�  € ð: ÒØ×ÑÐ5°tÔ<ØŸ,š,ñ 
Ø)ð
à)ð
ð ñ
ˆð (×9Ñ9ˆØ—‘˜}Ó-ˆàˆØÓØ-×<Ñ<×@Ñ@ÀÓDˆOð !§K¡K×$<Ñ$<Ñ<ˆKØ(Ÿ_™_¨RÓ0ˆNØ &× 4Ñ 4°[Ó AÐô Ÿ™×1Ñ1°&¸bÌÏÉÐ1ÓV×`Ñ`ÐabÐdeÓfˆIä—‘×%Ñ%×+Ñ+°EÐ+×:Õ:Ü—}‘}×-Ñ-ØØ%Ø#Ø"ØŸ+™+×2Ñ2Ø"Ÿk™k×<Ñ<Ø"&§+¡+×"?Ñ"?ð .ó �÷ ;ô ØØØ)×7Ñ7Ø&×1Ñ1ô	
ð 	
÷ ;×:ús   ÄA#F&Æ&F6	c                ó¶   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[RS[R,          RS[S[,          RS[S[ P                  ,          /# )r)   r;  r*   NÚreturn_dict_in_generateÚcompile_configrÛ   rS   )r,   r-   r·   r   r   r   rª  r®  )r.   r/   s   "€r0   r1   rÃ    sj   ø€ ÷ 9ñ 9áŸ™ð9ñ Ÿ™ tÕ+ð9ñ "&ð	9ñ
 &¨Õ,ð9ñ Ñ+Õ,ð9ñ 
#¡U×%5Ñ%5Õ	5ñ9r3   c                óŒ  € Ve   V P                  V4      MV P                  pRVR&   V! RRVRV/VB pVP                  P                  R	R7      pVe=   V P	                  W(P
                  ^,          R7      pV P                  P                  W‚( &   V'       d.   \        VVP                  VP                  VP                  R7      # V# )
aT  
compile_config ([`~generation.CompileConfig`], *optional*):
    If provided, `torch.compile` will be applied to the forward calls in the decoding loop.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> predicted_ids = model.generate(**inputs)
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

>>> print(transcription)
```
TÚreturn_dictr;  r*   rh   r   )r¬  r­  rb  r`   r4   rj   )Úget_compiled_callÚ__call__r­  Úargmaxr}  rm   rD   rÑ  rª  rb  r`   )	rO   r;  r*   râ  rã  rÛ   Úmodel_forwardÚoutputsr¬  s	   &&&&&,   r0   ÚgenerateÚParakeetForCTC.generate  sÛ   € ðB CQÒB\˜×.Ñ.¨~Ô>Ðbf×boÑboˆà $ˆˆ}ÑÙ"/ñ #
Ø)ð#
à)ð#
ð ñ#
ˆð —N‘N×)Ñ)¨bÐ)Ó1ˆ	ð Ò%Ø!×<Ñ<¸^×[jÑ[jÐklÕ[mÐ<ÓnˆNØ)-¯©×)AÑ)AˆI�oÑ&ç"Ü,Ø#Ø—~‘~Ø"×-Ñ-Ø%×3Ñ3ô	ð ð Ðr3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   r€  )r.   r/   s   "€r0   r1   rÃ  ±  ó   ø‡ ‚ ñ Ñò r3   )rÇ  r�  r]  )NFN)r5   r6   r7   r8   rJ   r   r   r}   r,   r�   rë  r:   r;   r<   r‚   rƒ   s   @@r0   rÁ  rÁ  ±  s[   ù‡ € ÷ó ð Ø÷B
ñ B
ó ó ðB
ðH ‡]‚]ƒ_÷9ñ 9ó ð9÷o … r3   rÁ  c                   óX   a a€ ] tR tRt oRtV3R lV 3R lltRV3R lR lltRtVtV ;t	# )	ÚParakeetRNNTDecoderiD  z'LSTM-based prediction network For RNN-Tc                ó    <€ V ^8„  d   QhRS[ /# rC   ©r    )r.   r/   s   "€r0   r1   Ú ParakeetRNNTDecoder.__annotate__G  s   ø€ ÷ 
cñ 
cÑ1ñ 
cr3   c                ó€  <€ \         SV `  4        VP                  V n        \        P                  ! VP
                  VP                  4      V n        \        P                  ! VP                  VP                  VP                  R R7      V n
        \        P                  ! VP                  VP                  4      V n        R# )T)Ú
input_sizerY   r&  Úbatch_firstN)rI   rJ   Úblank_token_idr   Ú	EmbeddingrÆ  Údecoder_hidden_sizeÚ	embeddingÚLSTMÚnum_decoder_layersÚlstmr‹   Údecoder_projectorr“   s   &&€r0   rJ   ÚParakeetRNNTDecoder.__init__G  s‰   ø€ Ü‰ÑÔØ$×3Ñ3ˆÔÜŸš f×&7Ñ&7¸×9SÑ9SÓTˆŒÜ—G’GØ×1Ñ1Ø×2Ñ2Ø×0Ñ0Øô	
ˆŒ	ô "$§¢¨6×+EÑ+EÀv×GaÑGaÓ!bˆÖr3   c                ób   <€ V ^8„  d   QhRS[ P                  RS[R,          RS[ P                  /# )r)   Ú	input_idsÚcacheNrS   )r,   r®  r"   r-   )r.   r/   s   "€r0   r1   ró  S  s8   ø€ ÷ ñ á×#Ñ#ðñ (¨$Õ.ðñ 
�‰ñ	r3   c                óú  € VeK   VR,          V P                   8H  pVP                  '       d#   VP                  4       '       d   VP                  # V P	                  V4      pVe?   VP                  pV'       g   VP                  V4       VP                  VP                  3pMR pV P                  WF4      w  pw  r‰V P                  V4      p
Ve-   X'       d   X( MR pVP                  W¨W›R7       VP                  # V
# )N)Úmask)rk   rj   )r÷  Úis_initializedr¸   r  rú  Úlazy_initializationÚhidden_stateÚ
cell_staterý  rþ  Úupdate)rO   r  r  Ú
blank_maskÚ
embeddingsÚwas_initializedÚhidden_cell_statesÚlstm_outputr  r  Údecoder_outputr  s   &&&         r0   r}   ÚParakeetRNNTDecoder.forwardS  sç   € ð
 ÒØ" 5Õ)¨T×-@Ñ-@Ñ@ˆJà×#×#Ð#¨
¯©×(8Ò(8Ø—{‘{Ð"à—^‘^ IÓ.ˆ
ð ÒØ#×2Ñ2ˆOß"Ø×)Ñ)¨*Ô5Ø"'×"4Ñ"4°e×6FÑ6FÐ!GÑà!%Ðà26·)±)¸JÓ2[Ñ/ˆÑ/�lØ×/Ñ/°Ó<ˆàÒß"1�J‘;°tˆDØ�L‰L˜°zˆLÔMØ—;‘;ÐàÐr3   )r÷  rþ  rú  rý  r   ©
r5   r6   r7   r8   r9   rJ   r}   r;   r<   r‚   rƒ   s   @@r0   rð  rð  D  s#   ù‡ € Ù1÷
có 
c÷÷ ò r3   rð  c                   óT   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚParakeetRNNTJointNetworkit  zPJoint network that combines encoder and decoder outputs to predict token logits.c                ó    <€ V ^8„  d   QhRS[ /# rC   rò  )r.   r/   s   "€r0   r1   Ú%ParakeetRNNTJointNetwork.__annotate__w  s   ø€ ÷ ,ñ ,Ñ1ñ ,r3   c                óÞ   <€ \         SV `  4        \        VP                  ,          V n        \
        P                  ! VP                  VP                  4      V n	        VP                  V n        R # r   )
rI   rJ   r   r�   r�   r   r‹   rù  rÆ  Úheadr“   s   &&€r0   rJ   Ú!ParakeetRNNTJointNetwork.__init__w  sK   ø€ Ü‰ÑÔÜ  ×!2Ñ!2Õ3ˆŒÜ—I’I˜f×8Ñ8¸&×:KÑ:KÓLˆŒ	Ø ×+Ñ+ˆŽr3   c                ó’   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  S[ P                  3,          /# )r)   Údecoder_hidden_statesÚencoder_hidden_statesrS   )r,   r-   r   )r.   r/   s   "€r0   r1   r  }  sC   ø€ ÷ 'ñ 'á$Ÿ|™|ð'ñ  %Ÿ|™|ð'ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ	'r3   c                óR   € V P                  W!,           4      pV P                  V4      # r   )r�   r  )rO   r  r  Újoint_outputs   &&& r0   r}   Ú ParakeetRNNTJointNetwork.forward}  s%   € ð
 —‘Ð'<Õ'TÓUˆØ�y‰y˜Ó&Ð&r3   )r�   r  rÆ  r  rƒ   s   @@r0   r  r  t  s!   ù‡ € ÙZ÷,ó ,÷'÷ 'ð 'r3   r  c                   ó<   a € ] tR tRt o RtRtRtRtV 3R ltRt	V t
R# )ÚParakeetRNNTOutputi†  aÏ  
Output of the Parakeet RNN-T forward pass.

Args:
    loss (`torch.FloatTensor`, *optional*):
        RNN-T loss, returned when `labels` are provided.
    logits (`torch.FloatTensor`):
        Joint token logits. Shape is `(batch, T, U+1, vocab)` for training
        or `(batch, 1, 1, vocab)` for single-step inference.
    decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
        Decoder LSTM cache containing hidden state, cell state, and last output.
Nc                ó�   <€ V ^8„  d   Qh/ S[ P                  R,          ;R&   S[ P                  R,          ;R&   S[R,          ;R&   # )r)   NrÏ  r­  Údecoder_cache)r,   r¯  r"   )r.   r/   s   "€r0   r1   ÚParakeetRNNTOutput.__annotate__†  sG   ø‡ ‚ ñ ×
Ñ
˜dÕ
"Ñ)ñ ñ  ×Ñ Õ$Ñ+ñ! ñ" ,¨dÕ2Ñ9ò# r3   r4   )r5   r6   r7   r8   r9   rÏ  r­  r"  r:   r;   r<   r=   s   @r0   r   r   †  s"   ø‡ € ñð &*€DØ'+€FØ59€M÷# ƒ r3   r   z?
    Parakeet Encoder with an RNN-T (RNN Transducer) head.
    c                   ó´   a a€ ] tR tRt oR.t]P                  .tV3R lV 3R llt]	RV3R lR ll4       t
]]	RV3R lR ll4       4       tV3R	 ltR
tVtV ;t# )ÚParakeetForRNNTiš  rð  c                ó    <€ V ^8„  d   QhRS[ /# rC   rò  )r.   r/   s   "€r0   r1   ÚParakeetForRNNT.__annotate__¤  s   ø€ ÷ ñ Ñ1ñ r3   c                óf  <€ \         SV `  V4       \        P                  ! VP                  4      V n        \        P                  ! VP                  P                  VP                  4      V n
        \        V4      V n        \        V4      V n        VP                  V n        V P!                  4        R # r   )rI   rJ   r   rÅ  rp  r�  r   r‹   rY   rù  Úencoder_projectorrð  Údecoderr  ÚjointÚmax_symbols_per_stepr›  r“   s   &&€r0   rJ   ÚParakeetForRNNT.__init__¤  s}   ø€ Ü‰Ñ˜Ô Ü ×,Ò,¨V×-BÑ-BÓCˆŒÜ!#§¢¨6×+@Ñ+@×+LÑ+LÈf×NhÑNhÓ!iˆÔÜ*¨6Ó2ˆŒÜ-¨fÓ5ˆŒ
Ø$*×$?Ñ$?ˆÔ!à�‰Ör3   c                óx   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[S[,          RS[/# )r)   r;  r*   NrÛ   rS   )r,   r-   r   r   r'   )r.   r/   s   "€r0   r1   r'  ¯  sF   ø€ ÷ ñ áŸ™ðñ Ÿ™ tÕ+ðñ Ñ+Õ,ð	ñ
 
$ñr3   c                ór   € V P                   ! RR VRV/VB pV P                  VP                  4      Vn        V# )r;  r*   r4   )r�  r)  r¡  Úpooler_output)rO   r;  r*   rÛ   rÚ  s   &&&, r0   Úget_audio_featuresÚ"ParakeetForRNNT.get_audio_features®  sM   € ð Ÿ,š,ñ 
Ø)ð
à)ð
ð ñ
ˆð
 )-×(>Ñ(>¸×?`Ñ?`Ó(aˆÔ%ØÐr3   c                óF  <€ 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[S[S[ P                  ,          ,          R,          RS[ P                  R,          R	S[S[	,          R
S[
/	# ©r)   r;  Nr*   Údecoder_input_idsr"  Úuse_decoder_cacherÚ  rÊ  rÛ   rS   ©r,   r-   r®  r"   r·   r'   r   r¯  r   r   r   )r.   r/   s   "€r0   r1   r'  ¿  s»   ø€ ÷ N
ñ N
áŸ™ tÕ+ðN
ñ Ÿ™ tÕ+ðN
ñ !×+Ñ+¨dÕ2ð	N
ñ
 0°$Õ6ðN
ñ   $�;ðN
ñ 4±e¹E×<MÑ<MÕ6NÕNÐQUÕUðN
ñ —‘˜tÕ#ðN
ñ Ñ+Õ,ðN
ñ 
ñN
r3   c                ó´  € Vf   V P                   ! RRVRV/VB pV'       d   Vf   \        V P                  4      pV P                  W4R7      p	V P	                  VP
                  R,          V	R,          R7      P                  ^4      p
RpVe“   VP                  P                  R4      pV P                  ! RRV
RR\        VP                  4       4      13,          RVR	VR
WpP                  P                  8g  P                  R4      RV P                  P                  /VB p\        VV
VP                  VP
                  VP                  VP                   VR7      # )aw  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, 1)`, *optional*):
    Decoder input token ids for single-step inference.
decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
    Decoder LSTM cache. When provided and initialized, the cached `decoder_output` is reused
    (e.g. during blank-skipping) instead of running the decoder. When `input_ids` is provided,
    the decoder runs and the cache is updated in-place.
use_decoder_cache (`bool`, *optional*):
    Whether to use a decoder cache. When `True` and `decoder_cache` is `None`, a new cache
    is created automatically during the forward pass.
encoder_outputs (`tuple(torch.FloatTensor)`, *optional*):
    Pre-computed encoder outputs (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask).
    Can be a tuple or `ParakeetEncoderModelOutput`.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForRNNT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-rnnt-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForRNNT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)
```
Nr;  r*   ©r  rk   ©r  r  r­  rÊ  Úlogit_lengthsÚlabel_lengthsr÷  ©rÏ  r­  r¡  r0  r`   rb  r"  r4   ©rk   rk   Nrk   ©rk   Nrk   rk   rj   )r1  r"   rD   r*  r+  r0  Úsqueezer*   r>  Úloss_functionrÎ   r{  r÷  r   r¡  r`   rb  )rO   r;  r*   r5  r"  r6  rÚ  rÊ  rÛ   r  r­  rÏ  r;  s   &&&&&&&&,    r0   r}   ÚParakeetForRNNT.forward½  s}  € ðX Ò"Ø"×5Ò5ñ Ø-ðà-ðð ñˆO÷  Ò!6Ü4°T·[±[ÓAˆMà $§¡Ð-> Ó TÐØ—‘Ø"1×"?Ñ"?ÀÕ"NØ"7¸Õ"Fð ó 
÷ ‰'�!‹*ð 	ð
 ˆØÒØ+×:Ñ:×>Ñ>¸rÓBˆMØ×%Ò%ñ Ø˜aÐ!;¤3 }×'8Ñ'8Ó':Ó#;Ð!;Ð;Õ<ðàðð ,ðð  &¯©×)CÑ)CÑC×HÑHÈÓLð	ð
  $Ÿ{™{×9Ñ9ðð ñˆDô "ØØØ-×?Ñ?Ø)×7Ñ7Ø)×7Ñ7Ø&×1Ñ1Ø'ô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rò  )r.   r/   s   "€r0   r1   r'  š  s   ø‡ ‚ ñ Ñò r3   )r*  r�  r)  r+  r,  r   ©NNNNNNN)r5   r6   r7   r8   r…  r
   ÚGREEDY_SEARCHÚ_supported_generation_modesrJ   r   r1  r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   r%  r%  š  sn   ù‡ € ð /Ð/ÐØ#1×#?Ñ#?Ð"@Ð÷ó ð ÷ñ ó ðð Ø÷N
ñ N
ó ó ðN
÷K … r3   r%  c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )ÚParakeetTDTJointNetworki  zþExtends the RNN-T joint network with a duration head.

The only difference from [`ParakeetRNNTJointNetwork`] is the output width of `head`: it grows from
`vocab_size` to `vocab_size + len(durations)` so the network jointly predicts tokens and durations.
c                ó    <€ V ^8„  d   QhRS[ /# rC   ©r!   )r.   r/   s   "€r0   r1   Ú$ParakeetTDTJointNetwork.__annotate__  s   ø€ ÷ eñ eÑ0ñ er3   c                óº   <€ \         SV `  V4       \        P                  ! VP                  VP
                  \        VP                  4      ,           4      V n        R # r   )	rI   rJ   r   r‹   rù  rÆ  ÚlenÚ	durationsr  r“   s   &&€r0   rJ   Ú ParakeetTDTJointNetwork.__init__  s?   ø€ Ü‰Ñ˜Ô Ü—I’I˜f×8Ñ8¸&×:KÑ:KÌcÐRX×RbÑRbÓNcÕ:cÓdˆŽ	r3   )r  r¸  rƒ   s   @@r0   rH  rH    s   ù‡ € ñ÷e÷ eó er3   rH  zG
    Parakeet Encoder with a TDT (Token Duration Transducer) head.
    c                   ót   a a€ ] tR tRt oV3R lV 3R llt]]RV3R lR ll4       4       tV3R ltRt	Vt
V ;t# )	ÚParakeetForTDTi  c                ó    <€ V ^8„  d   QhRS[ /# rC   rJ  )r.   r/   s   "€r0   r1   ÚParakeetForTDT.__annotate__$  s   ø€ ÷ ñ Ñ0ñ r3   c                óf   <€ \         SV `  V4       \        V4      V n        V P	                  4        R # r   )rI   rJ   rH  r+  r›  r“   s   &&€r0   rJ   ÚParakeetForTDT.__init__$  s&   ø€ Ü‰Ñ˜Ô Ü,¨VÓ4ˆŒ
à�‰Ör3   c                óF  <€ 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[S[S[ P                  ,          ,          R,          RS[ P                  R,          R	S[S[	,          R
S[
/	# r4  r7  )r.   r/   s   "€r0   r1   rS  ,  s»   ø€ ÷ O
ñ O
áŸ™ tÕ+ðO
ñ Ÿ™ tÕ+ðO
ñ !×+Ñ+¨dÕ2ð	O
ñ
 0°$Õ6ðO
ñ   $�;ðO
ñ 4±e¹E×<MÑ<MÕ6NÕNÐQUÕUðO
ñ —‘˜tÕ#ðO
ñ Ñ+Õ,ðO
ñ 
ñO
r3   c                ó  € Vf   V P                   ! RRVRV/VB pV'       d   Vf   \        V P                  4      pV P                  W4R7      p	V P	                  VP
                  R,          V	R,          R7      P                  ^4      p
RpVeÅ   V P                  ! RRV
RRV P                  P                  13,          RV
RV P                  P                  R13,          R	VR
VP                  P                  R4      RWpP                  P                  8g  P                  R4      RV P                  P                  RV P                  P                  /VB p\        VV
VP                  VP
                  VP                   VP"                  VR7      # )aw  
decoder_input_ids (`torch.LongTensor` of shape `(batch_size, 1)`, *optional*):
    Decoder input token ids for single-step inference.
decoder_cache (`ParakeetRNNTDecoderCache`, *optional*):
    Decoder LSTM cache. When provided and initialized, the cached `decoder_output` is reused
    (e.g. during blank-skipping) instead of running the decoder. When `input_ids` is provided,
    the decoder runs and the cache is updated in-place.
use_decoder_cache (`bool`, *optional*):
    Whether to use a decoder cache. When `True` and `decoder_cache` is `None`, a new cache
    is created automatically during the forward pass.
encoder_outputs (`tuple(torch.FloatTensor)`, *optional*):
    Pre-computed encoder outputs (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask).
    Can be a tuple or `ParakeetEncoderModelOutput`.

Example:

```python
>>> from transformers import AutoProcessor, ParakeetForTDT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/parakeet-tdt-0.6b-v3"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForTDT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)
```
Nr;  r*   r9  r:  Útoken_logits.Úduration_logitsrÊ  r;  r<  r÷  rN  r=  r4   r>  r?  rj   )r1  r"   rD   r*  r+  r0  r@  rA  rÆ  r*   r>  rÑ  r÷  rN  r   r¡  r`   rb  )rO   r;  r*   r5  r"  r6  rÚ  rÊ  rÛ   r  r­  rÏ  s   &&&&&&&&,   r0   r}   ÚParakeetForTDT.forward*  s©  € ðX Ò"Ø"×5Ò5ñ Ø-ðà-ðð ñˆO÷  Ò!6Ü4°T·[±[ÓAˆMà $§¡Ð-> Ó TÐØ—‘Ø"1×"?Ñ"?ÀÕ"NØ"7¸Õ"Fð ó 
÷ ‰'�!‹*ð 	ð
 ˆØÒØ×%Ò%ñ 	Ø# CÐ)A¨4¯;©;×+AÑ+AÐ)AÐ$AÕBð	à & s¨D¯K©K×,BÑ,BÑ,DÐ'DÕ Eð	ð ð	ð .×<Ñ<×@Ñ@ÀÓDð		ð
  &¯©×)AÑ)AÑA×FÑFÀrÓJð	ð  $Ÿ{™{×9Ñ9ð	ð Ÿ+™+×/Ñ/ð	ð ñ	ˆDô "ØØØ-×?Ñ?Ø)×7Ñ7Ø)×7Ñ7Ø&×1Ñ1Ø'ô
ð 	
r3   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # rC   rJ  )r.   r/   s   "€r0   r1   rS    rî  r3   )r+  rD  )r5   r6   r7   r8   rJ   r   r   r}   r:   r;   r<   r‚   rƒ   s   @@r0   rQ  rQ    s:   ù‡ € ÷ó ð Ø÷O
ñ O
ó ó ðO
÷! … r3   rQ  r¾  )rµ   )rÁ  r%  rQ  rŽ  r_  )Sr#  Úcollections.abcr   Údataclassesr   r,   r   Ú r   rh  Úactivationsr   Ú
generationr   r	   r
   Úintegrationsr   r   Úmodeling_layersr   Úmodeling_outputsr   r   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   r   r   r   r   Úutils.deprecationr   Úutils.genericr   r   Úutils.output_capturingr   Úautor   Úconfiguration_parakeetr   r   r    r!   Úgeneration_parakeetr"   r#   r$   Ú
get_loggerr5   r´  r'   rÜ   r?   r…   rž   rÁ   rÊ   rÔ   rè   rê   r  rE  r_  rŽ  rª  r²  rª   rº  rÁ  rð  r  r   r%  rH  rQ  Ú__all__r4   r3   r0   Ú<module>ro     s§  ðó* Ý $Ý !ã Ý å &Ý !ß HÑ Hß LÝ 9ß [Ñ [ß FÝ &ß _Õ _Ý 0ß GÝ 5Ý ß sÓ sß rÑ rð 
×	Ò	˜HÓ	%€ñ ðôð ô
/Ð!;ó 
/ó óð
/ô&7¨2¯9©9ô &7ôR §¡ô ôE- r§y¡yô E-òP(ñ Ð-Ó.óó /ðõ2	U÷%ñ2 Ð)Ó*ô_ ˜rŸy™yó _ ó +ð_ ôDB r§y¡yô BôJ,Ð5ô ,ð^ ô;˜oó ;ó ð;ñ| ðôô
\
Ð-ó \
óð
\
ð~ ôA ó Aó ðAð4 ô	
Ð6ó 	
ó ð	
ôN˜RŸY™Yô Nñ
 ðôô
KÐ,¨oó Kóð
Kô\-˜"Ÿ)™)ô -ô`'˜rŸy™yô 'ð$ ô:Ð3ó :ó ð:ñ& ðôô
n
Ð-Ð/Jó n
óð
n
ôb	eÐ6ô 	eñ ðôô
Z
Ð/°ó Z
óð
Z
òz p‚r3   