+
    "Ý³j[<  ã                   óB  € ^ RI t ^ RIt^ RIHtHtHtHtHtHt ^ RI	t	^ RI
Ht ^RIHt ^RIHtHtHt ^RIHtHtHtHt ^RIHt ^RIHt ^R	IHtHtHtHtH t H!t! ^R
I"H#t# ^RI$H%t% ^RI&H't' ^RI(H)t) ^RI*H+t+H,t,H-t-H.t.H/t/ ^RI*H0t0H1t1H.t.H/t/ ]%! 4       t2 ! R R]4      t3R# )é    N)ÚAnyÚCallableÚDictÚListÚOptionalÚTuple)ÚModule)ÚLora)Úeora_compute_loraÚeora_process_inputÚmerge_eora_segments)ÚDTYPE_SIZE_COLUMNÚExecutionConfigÚMODULE_FEATURE_COLUMNÚLoopProcessor©ÚNamedModule©Ú
BaseQModel)ÚPROCESS_LOG_FWD_TIMEÚPROCESS_LOG_LAYERÚPROCESS_LOG_MODULEÚPROCESS_LOG_NAMEÚPROCESS_LOG_TIMEÚPROCESS_USED_MEMORY)ÚQuantizeConfig)Úsetup_logger)Ú
get_device)Úmove_to)ÚCPUÚDEVICE_0ÚDEVICE_1Útorch_streamCtxÚ
torch_sync)ÚHAS_CUDAÚtf32_disable_guardr#   r$   c                   ó"  a a€ ] tR t^t oRtRV3R lV 3R llltV 3R ltV 3R ltR tV3R lR lt	V3R	 lR
 lt
V3R lR ltV3R lR ltV3R lR ltRV3R lR lltV3R lR ltV3R lV 3R lltV3R lR ltV3R lR ltRtVtV ;t# )ÚEoraProcessorzOBuilds LoRA-style error adapters from dequantization residuals and activations.c                ón   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[RS[RS[S[,          /# )é   ÚqcfgÚcalibration_concat_sizeÚcalibration_sortÚ
batch_sizeÚrequire_fwdÚcalibration_concat_separator)r   r   ÚintÚstrÚbool)ÚformatÚ__classdict__s   "€Ú`/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/looper/eora_processor.pyÚ__annotate__ÚEoraProcessor.__annotate__!   sU   ø€ ÷ *5ñ *5ñ ð*5ñ "*©#¥ð*5ñ #¡3�-ð*5ñ ð*5ñ ð*5ñ '/©s¥mñ*5ó    c
                ó$  <€ \         S
V `  VVVVVV	VV\        VR7      R7	       / V n        / V n        \
        P                  P                  P                  ^@8  d    ^@\
        P                  P                  n        \        V n	        \        V n
        R# )zFInitializes EoRA processing and per-module segment accumulation state.)r/   )	Ú	tokenizerr+   Úcalibrationr,   r-   r0   Úprepare_dataset_funcr.   Úexecution_configN)ÚsuperÚ__init__r   Ú_segment_accumulatorsÚ_module_target_devicesÚtorchÚ_dynamoÚconfigÚcache_size_limitr   r   )Úselfr;   r+   r<   r=   r,   r-   r.   r/   r0   Ú	__class__s   &&&&&&&&&&€r6   r@   ÚEoraProcessor.__init__!   s‰   ø€ ô 	‰ÑØØØ#Ø$;Ø-Ø)EØ!5Ø!Ü,¸ÔEð 	ô 
	
ð UWˆÔ"Ø?AˆÔ#ô �=‰=×Ñ×0Ñ0°2Ô5Ø46ŒE�M‰M× Ñ Ô1ô "3ˆÔÜ"4ˆÖr9   c                óî   <€ \         SV `  4       pVR ,          P                  4        UUu/ uF8  w  r#VRVP                  RVP                  RVP
                  RVP                  /bK:  	  uppVR &   V# u uppi )ÚresultsÚrankÚpathÚlora_AÚlora_B)r?   Úcontinuation_state_dictÚitemsrL   rM   rN   rO   )rG   ÚstateÚnameÚadapterrH   s   &   €r6   rP   Ú%EoraProcessor.continuation_state_dictM   s‚   ø€ Ü‘Ñ/Ó1ˆð "' yÕ!1×!7Ñ!7Ô!9ô
ñ ":‘�ð Ø˜Ÿ™Ø˜Ÿ™Ø˜'Ÿ.™.Ø˜'Ÿ.™.ð	ò ñ ":ò
ˆˆiÑð ˆùó
s   ª>A1c           
     ó¸   <€ \        V4      pVR ,          P                  4        UUu/ uF  w  r4V\        R/ VB bK  	  uppVR &   \        SV `  V4       R# u uppi )rK   N© )ÚdictrQ   r
   r?   Úload_continuation_state_dict)rG   rR   ÚrestoredrS   ÚspecrH   s   &&   €r6   rY   Ú*EoraProcessor.load_continuation_state_dict[   sZ   ø€ Ü˜“;ˆà16°yÕ1A×1GÑ1GÔ1Iô
Ù1I¡: 4ˆD”$‘,˜‘,ÒÑ1Iò
ˆ�Ñô 	‰Ñ,¨XÖ6ùó
s   §Ac                ó2   € Wn         \        V4      V n        R# )zDStores the calibration dataset because EoRA depends on batch counts.N)Úcalibration_datasetÚlenÚnum_batches)rG   r^   s   &&r6   Úset_calibration_datasetÚ%EoraProcessor.set_calibration_datasetb   s   € ð $7Ô ÜÐ2Ó3ˆÖr9   c                ó    <€ V ^8„  d   QhRS[ /# )r*   Úmoduler   )r4   r5   s   "€r6   r7   r8   h   s   ø€ ÷ ñ ¡ñ r9   c                óB  € V P                   P                  VP                  R7      R8X  d
   RVn        R# \        P
                  ! V P                   P                  4      pV P                   P                  VP                  RRVP                  R7      Vn        W1n        \        VP                  4      pVP                  R8X  d   \        P                  ! R4      p\        P                  ! V4      V P                  VP                  &   / V P                  VP                  &   R# )	zLClones adapter config, applies rank overrides, and initializes accumulators.©Ú
layer_nameFNrT   rL   )ÚkeyÚsub_keyÚdefaultÚmetaÚcpu)r+   Údynamic_getÚ	full_nameÚadapter_cfgÚcopyÚdeepcopyrT   rL   r   rd   ÚtyperC   ÚdevicerB   rS   rA   )rG   rd   Úkwargsro   Útarget_devices   &&,  r6   Ú
preprocessÚEoraProcessor.preprocessh   sã   € ð �9‰9× Ñ ¨F×,<Ñ,<Ð Ó=ÀÔFØ!%ˆFÔÙä—m’m D§I¡I×$5Ñ$5Ó6ˆð  Ÿ9™9×0Ñ0Ø× Ñ ØØØ#×(Ñ(ð	 1ó *ˆÔð )Ôä" 6§=¡=Ó1ˆØ×Ñ Ô'Ü!ŸLšL¨Ó/ˆMä38·<²<ÀÓ3Nˆ×#Ñ# F§K¡KÑ0Ø24ˆ×"Ñ" 6§;¡;Ñ/ár9   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r*   rd   Úreturn)r   r3   )r4   r5   s   "€r6   r7   r8   …   s   ø€ ÷ 0ñ 0¡ð 0±ñ 0r9   c                ó$   € VP                   R/ 39   # )zDReports whether EoRA was disabled for this module by dynamic config.N)ro   )rG   rd   s   &&r6   Ú
is_skippedÚEoraProcessor.is_skipped…   s   € ð ×!Ñ! d¨B ZÑ/Ð/r9   c                ó€   <€ V ^8„  d   QhRS[ RS[S[S[S[P
                  R3,          S[P
                  .R3,          /# )r*   rS   ry   .N)r2   r   r	   r   rC   ÚTensor)r4   r5   s   "€r6   r7   r8   ‹   sC   ø€ ÷ ñ ©ð ±¹6Á5ÉÏÉÐWZÐIZÕC[Ñ]b×]iÑ]iÐ:jÐlpÐ:pÕ1qñ r9   c                ó   a a€ R VV 3R llpV# )zEReturns the forward hook that accumulates EoRA activation statistics.c                ór   € V ^8„  d   QhR\         \        P                  R3,          R\        P                  /# )r*   Úinput.Úoutput)r   rC   r~   )r4   s   "r6   r7   Ú8EoraProcessor.pre_process_fwd_hook.<locals>.__annotate__Ž   s,   € ÷ 	ñ 	œu¤U§\¡\°3Ð%6Õ7ð 	ÄÇÁñ 	r9   c                óÔ   <€ SP                  4       pSP                  VSSP                  V P                  P                  P
                  R7      w  rEpSP                  SVVVVR7       R# )z@Processes one batch of inputs into an EoRA contribution segment.)r�   rS   Úsample_sizers   )rS   Úbatch_indexÚbatchÚcontributionÚscaleN)Úcurrent_batch_indexr   r`   ÚweightÚdatars   Ú_accumulate_eora_contribution)	rd   r�   r‚   r†   r‡   rˆ   r‰   rS   rG   s	   &&&    €€r6   ÚtmpÚ/EoraProcessor.pre_process_fwd_hook.<locals>.tmpŽ   st   ø€ ð ×2Ñ2Ó4ˆKØ)-×)@Ñ)@ØØØ ×,Ñ,Ø—}‘}×)Ñ)×0Ñ0ð	 *Aó *Ñ&ˆE ð ×.Ñ.ØØ'ØØ)Øð /ö r9   rW   )rG   rS   rŽ   s   ff r6   Úpre_process_fwd_hookÚ"EoraProcessor.pre_process_fwd_hook‹   s   ù€ ÷	ñ 	ð$ ˆ
r9   c                ó`   <€ V ^8„  d   QhRS[ RS[S[,          RS[RS[P                  RS[RR/# )r*   rS   r†   r‡   rˆ   r‰   ry   N)r2   r   r1   rC   r~   Úfloat)r4   r5   s   "€r6   r7   r8   ¢   sQ   ø€ ÷ 9ñ 9ñ ð9ñ ™c•]ð	9ñ
 ð9ñ —l‘lð9ñ ð9ð 
ñ9r9   c               óÎ  € V^ 8:  d   R# VP                  4       p\        P                  ! VP                  4      p\        V4      pV P                  ;_uu_ 4        V P
                  P                  V/ 4      pVP                  V4      p	Ve   \        V4      M^ p
V	f   RVRVRV
RV
R^/p	W˜V&    RRR4       R# V	R,          pVP                  VP                  8w  d   VP                  VP                  R7      pVP                  V4       VP                  V4       W¹R&   V	R;;,          V,          uu&   V	R;;,          ^,          uu&   VeE   \        V4      pV	R,          e   WÉR,          8  d   WÉR&   V	R,          e   WÉR,          8”  d   WÉR&   M9V	P                  R4      f   V	R,          ^,
          V	R&   V	R,          ^,
          V	R&   ?RRR4       R#   + '       g   i     R# ; i)zEMerges one EoRA contribution segment into the per-device accumulator.NÚtotalÚscale_productÚstart_indexÚ	end_indexÚcount©rs   )ÚdetachrC   rs   r“   ÚlockrA   Ú
setdefaultÚgetr1   ÚtoÚmul_Úadd_)rG   rS   r†   r‡   rˆ   r‰   rs   Úscale_valueÚaccumulatorsÚrecordÚindex_valuer•   Úbatch_values   &$$$$$       r6   r�   Ú+EoraProcessor._accumulate_eora_contribution¢   s´  € ð �AŒ:Ùà#×*Ñ*Ó,ˆÜ—’˜l×1Ñ1Ó2ˆÜ˜E“lˆà�Y�Y‹YØ×5Ñ5×@Ñ@ÀÀrÓJˆLØ!×%Ñ% fÓ-ˆFà.9Ò.Eœ#˜kÔ*È1ˆKàŠ~à˜\Ø# [Ø! ;Ø Ø˜Qð�ð (.˜VÑ$Ø÷ ‰Yð" ˜7•OˆEØ�|‰|˜|×2Ñ2Ô2ØŸ™¨×(;Ñ(;˜Ó<�à�J‰J�{Ô#Ø�J‰J�|Ô$à#�7‰OØ�?×# {Õ2Ó#Ø�7�O˜qÕ ‹OàÒ&Ü! +Ó.�Ø˜-Õ(Ò0°KÈÕBWÔ4WØ,7˜=Ñ)Ø˜+Õ&Ò.°+À{Õ@SÔ2SØ*5˜;Ñ'øà—:‘:˜mÓ,Ò4Ø,2°7­O¸aÕ,?�F˜=Ñ)Ø&,¨W¥o¸Õ&9��{Ñ#à÷O �Y�YŠYús   ÁAGÂ7DGÇG$	c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r*   rS   ry   )r2   rC   r~   )r4   r5   s   "€r6   r7   r8   Ý   s   ø€ ÷ 2ñ 2±3ð 2¹5¿<¹<ñ 2r9   c                óˆ  € V P                   ;_uu_ 4        V P                  P                  V/ 4      pV P                  P                  VR4      pRRR4       X'       g   \	        RV R24      h\        VP                  4       R R7      pXf1   V^ ,          R,          p\        P                  ! VP                  4      p. pV Fa  pVR,          pVP                  V8w  d"   VP                  V\        P                  R7      pVP                  V\        VR,          4      34       Kc  	  \        V4      #   + '       g   i     Lë; i)	z?Merges accumulated EoRA segments into the final scaling matrix.NzEoRA statistics for module 'z'' were not collected before processing.c                 ó&   € V P                  R ^ 4      # )r—   )rž   )r¤   s   &r6   Ú<lambda>Ú>EoraProcessor._finalize_eigen_scaling_matrix.<locals>.<lambda>ë   s   € ˜vŸz™z¨-¸Ô;r9   )rh   r•   ©rs   Údtyper–   )rœ   rA   ÚpoprB   ÚRuntimeErrorÚsortedÚvaluesrC   rs   rŸ   Úfloat32Úappendr“   r   )	rG   rS   Úsegmentsru   Úordered_segmentsÚfirst_totalÚsegment_pairsr¤   r•   s	   &&       r6   Ú_finalize_eigen_scaling_matrixÚ,EoraProcessor._finalize_eigen_scaling_matrixÝ   s  € ð �Y�Y‹YØ×1Ñ1×5Ñ5°d¸BÓ?ˆHØ ×7Ñ7×;Ñ;¸DÀ$ÓGˆM÷ ÷ ÜØ.¨t¨fÐ4[Ð\óð ô "Ø�O‰OÓÙ;ô
Ðð
 Ò Ø*¨1Õ-¨gÕ6ˆKÜ!ŸLšL¨×);Ñ);Ó<ˆMàˆÛ&ˆFØ˜7•OˆEØ�|‰|˜}Ô,ØŸ™¨¼U¿]¹]˜ÓK�Ø× Ñ  %¬¨v°oÕ/FÓ)GÐ!HÖIñ	 'ô # =Ó1Ð1÷3 �Yús   •9D1Ä1E	c                ó¾   <€ V ^8„  d   QhRS[ RS[P                  RS[S[S[S[ 3,          ,          RS[S[S[S[ 3,          ,          RS[S[,          RS[S[,          /# )r*   rd   rs   ÚsubsetÚprevious_subsetÚsubset_indexÚsubset_total)r   rC   rs   r   r   r2   r1   )r4   r5   s   "€r6   r7   r8   û   sy   ø€ ÷ F.ñ F.áðF.ñ —‘ðF.ñ ™™c¡;Ð.Õ/Õ0ð	F.ñ
 "¡$¡s©KÐ'7Õ"8Õ9ðF.ñ ™s•mðF.ñ ™s•mñF.r9   c                óD  € \        VP                  \        4      '       g   Q hV P                  RVP                   RVP
                   R24       \        P                  ! 4       pV P                  VP                  4      pVP                  P                  R4      p	^ p
VP                  P                  P                  ^,          p\        V	\        4      '       dA   \        V	P                  R^ 4      ;'       g    ^ 4      p
\        V	P                  RV4      4      pVP                  P                  P                  pVP                  P!                  R4      P#                  \$        P&                  VR7      pV
'       d   Wº,           pVR	R
V13,          pVP                  R,          pV
'       d   VR	R
X13,          pVP#                  WÁP
                  R7      pVP(                  \$        P&                  8X  g   Q RVP(                   24       hV P+                  VVP                  VVP                  P,                  VP
                  VP                  P                  P                  R7      w  pp?VVV,          ,           P#                  VP(                  VR7      pV
'       d   VR	R
V13,          pVR	R
V13,          pMTpTpVP                  P/                  R\1        V\2        R7      /4       VP(                  \$        P4                  \$        P6                  39   g   Q hVP#                  VP                  P                  P(                  VR7      VP                  n        ??\        P                  ! 4       V,
          pV P8                  ;_uu_ 4        V P:                  P=                  V4       V P>                  P=                  RVP@                   RVP                   24       R
R
R
4       \$        PB                  PE                  \F        4      pVP                  R^ 4      R,          pVP                  R^ 4      R,          p\$        PB                  PI                  4       ^8”  da   \$        PB                  PE                  \J        4      pVP                  R^ 4      R,          pVP                  R^ 4      R,          pVR RVR R2pMVR R2p\L        V P	                  4       \N        VP@                  \P        VP                  \R        V PU                  V4      \V        V PY                  V4      \Z        VR \\        V P_                  4       \`        V/pV Pb                  Pd                  e*   V Pb                  Pg                  VPh                  R7      VR&   V P8                  ;_uu_ 4        V Pj                  P=                  V4       R
R
R
4       V Pm                  V4       \        VP                  P,                  \1        VP#                  VP
                  R7      \2        R7      \1        VP#                  VP
                  R7      \2        R7      R7      pVP                  P/                  RV/4       VP                  P!                  RR
4       R
#   + '       g   i     ELª; i  + '       g   i     Lä; i)zCComputes and installs the LoRA correction for one quantized module.zEoRA: Processing z (z
) in layerÚtp_pad_infoÚpad_colsÚoriginal_columnsÚ	w_wq_diff)r®   rs   :NNNNÚwqr­   zw_wq_delta dtype: )Ú
w_wq_deltarS   Úeigen_scaling_diag_matrixrL   r®   rs   rš   zlayer-Ú-zactive_bytes.all.currentzactive_bytes.all.peakz.2fzMB, ÚMBz.3frf   Údynamic)r®   )rL   rN   rO   rT   i   )7Ú
isinstancero   r
   Údraw_progressrS   Úmodule_dtypeÚtimer¹   rR   rž   r‹   rŒ   ÚshaperX   r1   rs   r¯   rŸ   rC   r³   r®   r   rL   Úupdater   r    Úfloat16Úbfloat16rœ   Ú	durationsr´   Úmodule_namesÚlayer_indexÚcudaÚmemory_statsr!   Údevice_countr"   r   r   r   r   Úmodule_feature_summaryr   Úmodule_dtype_size_summaryr   r   Úformatted_fwd_timer   r+   rÊ   rm   rn   ÚlogÚlog_new_row) rG   rd   rs   r¼   r½   r¾   r¿   ÚstartrÇ   Útp_inforÂ   Úoriginal_colsru   rÆ   Ú
valid_colsrÅ   Ú	wq_deviceÚAÚBÚcomputed_wqÚcomputed_wq_trimÚwq_trimÚdurationÚstats_0Úactive_0Úpeak_active_0Ústats_1Úactive_1Úpeak_active_1Ú
max_memoryÚstatÚeoras    &&&&&&&                         r6   ÚprocessÚEoraProcessor.processû   sF  € ô ˜&×,Ñ,¬d×3Ò3Ð3Ð3à×ÑÐ.¨v¯{©{¨m¸2¸f×>QÑ>QÐ=RÐR\Ð]Ô^ä—	’	“ˆà$(×$GÑ$GÈÏÉÓ$TÐ!à—,‘,×"Ñ" =Ó1ˆØˆØŸ™×*Ñ*×0Ñ0°Õ3ˆÜ�gœt×$Ò$Ü˜7Ÿ;™; z°1Ó5×:Ð:¸Ó;ˆHÜ §¡Ð,>ÀÓ NÓOˆMàŸ™×*Ñ*×1Ñ1ˆà#)§<¡<×#3Ñ#3°KÓ#@×#CÑ#CÜ—-‘-Ø ð $Dó $
ˆ
÷ Ø&Õ1ˆJØ# A {¨
 { NÕ3ˆJà!Ÿ<™<¨Õ-ˆßØ�A�{˜
�{�NÕ#ˆBà—E‘E ×6IÑ6I�EÓJˆ	ð ×Ñ¤5§=¡=Ô0ÐYÐ4FÀz×GWÑGWÐFXÐ2YÓYÐ0ð ×%Ñ%Ø!Ø—‘Ø&?Ø×#Ñ#×(Ñ(Ø×%Ñ%Ø—=‘=×%Ñ%×,Ñ,ð &ó 
‰ˆˆ1ð &ð ! A¨¥EÕ*×.Ñ.°R·X±XÀmÐ.ÓTˆçØ*¨1¨n¨}¨nÐ+<Õ=ÐØ˜˜N˜]˜NÐ*Õ+‰Gà*ÐØˆGà�‰×ÑØ”'˜'¬#Ô.ð
ô 	ð × Ñ ¤U§]¡]´E·N±NÐ$CÔCÐCÐCð .×0Ñ0°v·}±}×7IÑ7I×7OÑ7OÐXeÐ0Ófˆ�‰Ôà�{ô —9’9“; Õ&ˆØ�Y�Y‹YØ�N‰N×!Ñ! (Ô+Ø×Ñ×$Ñ$ v¨f×.@Ñ.@Ð-AÀÀ6Ç;Á;À-Ð%PÔQ÷ ô —*‘*×)Ñ)¬(Ó3ˆØ—;‘;Ð9¸1Ó=À	ÕIˆØŸ™Ð$;¸QÓ?À)ÕKˆä�:‰:×"Ñ"Ó$ qÔ(Ü—j‘j×-Ñ-¬hÓ7ˆGØ—{‘{Ð#=¸qÓAÀIÕMˆHØ#ŸK™KÐ(?ÀÓCÀiÕOˆMà)¨#Ð.¨d°=ÀÐ2EÀRÐH‰Jà)¨#Ð.¨bÐ1ˆJô ˜dŸi™i›kÜ˜v×1Ñ1Ü §¡Ü! 4×#>Ñ#>¸vÓ#FÜ˜t×=Ñ=¸fÓEÜ ¨# Ü  $×"9Ñ"9Ó";Ü ð	
ˆð �9‰9×ÑÒ(Ø"Ÿi™i×3Ñ3¸v×?OÑ?OÐ3ÓPˆD�‰Oà�Y�Y‹YØ�H‰H�O‰O˜DÔ!÷ ð 	×Ñ˜ÔäØ×'Ñ'×,Ñ,Ü˜qŸt™t¨&×*=Ñ*=˜tÓ>ÄsÔKÜ˜qŸt™t¨&×*=Ñ*=˜tÓ>ÄsÔKôˆð 	�‰×ÑØ�tð
ô 	ð 	�‰×Ñ˜¨Ö-÷_ �YˆYú÷> �Yús   Î	AY;ÖZÙ;Z	ÚZ	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r*   rd   Úmodel)r   r   )r4   r5   s   "€r6   r7   r8   ƒ  s   ø€ ÷ Hñ H©ð H¹Zñ Hr9   c                óp   € V P                  VP                  VP                  P                  R4      4       R# )z@Stores the finalized adapter object in the processor result map.rT   N)Úresult_savern   rR   r¯   )rG   rd   rõ   rt   s   &&&,r6   Úsubmodule_finalizeÚ EoraProcessor.submodule_finalizeƒ  s)   € ð 	×Ñ˜×)Ñ)¨6¯<©<×+;Ñ+;¸IÓ+FÖGr9   c                ó    <€ V ^8„  d   QhRS[ /# )r*   rõ   r   )r4   r5   s   "€r6   r7   r8   ‰  s   ø€ ÷ 	0ñ 	0™jñ 	0r9   c                ó^   <€ V = V =V P                  4       Vn        \        SV `  ! RRV/VB  R# )zGReleases accumulators and attaches the collected adapters to the model.rõ   NrW   )rA   rB   rK   Úlora_resultsr?   Úfinalize)rG   rõ   rt   rH   s   &&,€r6   rý   ÚEoraProcessor.finalize‰  s6   ø€ ð Ð&ØÐ'ð "Ÿ\™\›^ˆÔä‰ÒÑ/˜uÐ/¨Ô/r9   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r*   Úprocessor_indexry   )r1   r3   )r4   r5   s   "€r6   r7   r8   ”  s   ø€ ÷ ñ ¹#ð Á$ñ r9   c                óJ   € V P                   f   V^ 8X  d   \        R4      hR# R# )zPRequires calibration on the first EoRA stage and reuses later caches thereafter.z5EoraProcessor's calibration_dataset must be provided.FT)r^   Ú
ValueError)rG   r   s   &&r6   Úverify_calibration_datasetÚ(EoraProcessor.verify_calibration_dataset”  s*   € ð ×#Ñ#Ò+Ø !Ô#Ü Ð!XÓYÐYáÙr9   c                ó    <€ V ^8„  d   QhRS[ /# )r*   ry   )r2   )r4   r5   s   "€r6   r7   r8   ž  s   ø€ ÷ ñ ‘cñ r9   c                ó   € R# )zAReturns the processor label used in logs and lifecycle reporting.rñ   rW   )rG   s   &r6   rS   ÚEoraProcessor.namež  s   € ñ r9   )rB   rA   r^   r   r   r`   )TN)NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r@   rP   rY   ra   rv   r{   r�   r�   r¹   rò   rø   rý   r  rS   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rH   r5   s   @@r6   r(   r(      s‘   ù‡ € ÙY÷*5õ *5õXõ7ò4÷ð ÷:0ð 0÷ð ÷.9ð 9÷v2ð 2÷<F.ò F.÷PHð H÷	0ó 	0÷ð ÷÷ ð r9   r(   )4rp   rÎ   Útypingr   r   r   r   r   r   rC   Útorch.nnr	   Úadapter.adapterr
   Ú	eora.eorar   r   r   Úlooper.loop_processorr   r   r   r   Úlooper.named_moduler   Úmodelsr   Úmodels.writerr   r   r   r   r   r   Úquantization.configr   Úutils.loggerr   Úutils.devicer   Úutils.modelr   Úutils.torchr    r!   r"   r#   r$   r%   r&   rÜ   r(   rW   r9   r6   Ú<module>r     sg   ðó Û ß =× =ã Ý å "ß RÑ Rß lÓ lÝ -Ý ÷V÷ Vå 0Ý 'Ý %Ý !ß NÕ Nß SÓ Sáƒn€ôC�Mö Cr9   