
    Mi                         S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  \" 5       r " S	 S
\5      rg)    )OptionalN)ModelLoader)SegformerImageProcessor)EfficientViTConfig)#EfficientViTForSemanticSegmentation)
get_logger)settingsc            	         ^  \ rS rSrSS\\   4U 4S jjjr   SS\\R                  \-     S\\R                  \-     S\\   S\
4S jjr  SS\\R                  \-     S\\R                  \-     S\4S	 jjrS
rU =r$ )DetectionModelLoader   
checkpointc                 j   > [         TU ]  U5        U R                  c  [        R                  U l        g g N)super__init__r   r	   DETECTOR_MODEL_CHECKPOINT)selfr   	__class__s     p/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/surya/detection/loader.pyr   DetectionModelLoader.__init__   s,    $??"&@@DO #    devicedtypeattention_implementationreturnc           
         Uc  [         R                  nUc  [         R                  n[        R                  " U R
                  5      n[        R                  " U R
                  UUS9nUR                  U5      nUR                  5       n[         R                  (       d  [         R                  (       a  S[        R                  R                  l        S[        R                  R                  l        [         R#                  SU R
                   SU SU 35        US:X  a  SS	0O0 n[        R$                  " U40 UD6n[         R'                  S
U R
                   S[        R(                  " U R
                  5       SU SU 35        U$ )N)r   config   FzCompiling detection model z on device z with dtype xlabackendopenxlazLoaded detection model z from z onto device )r	   TORCH_DEVICE_MODELMODEL_DTYPEr   from_pretrainedr   r   toevalCOMPILE_ALLCOMPILE_DETECTORtorch_dynamor   cache_size_limitsuppress_errorsloggerinfocompiledebugget_local_path)r   r   r   r   r   modelcompile_argss          r   r2   DetectionModelLoader.model   se    >00F=((E#33DOOD3CCOO

  

8#<#<45EMM  138EMM  0KK,T__,=[P\]b\cd 6<u_Iy1"LMM%8<8E%doo%6f=`=o=optpp  >A  =B  BO  PV  OW  Wc  di  cj  k	
 r   c                 B    [         R                  " U R                  5      $ r   )r   r$   r   )r   r   r   s      r   	processorDetectionModelLoader.processor:   s    
 '66tGGr   )r   r   )NNN)NN)__name__
__module____qualname____firstlineno__r   strr   r)   r   r   r   r2   r   r6   __static_attributes____classcell__)r   s   @r   r   r      s    A8C= A A 04-126	!+,! c)*! #+3-	!
 
-!J 04-1H+,H c)*H 
!	H Hr   r   )typingr   r)   surya.common.loadr   surya.detection.processorr   surya.detection.model.configr   $surya.detection.model.encoderdecoderr   surya.loggingr   surya.settingsr	   r-   r    r   r   <module>rG      s2      ) = ; T $ #	/H; /Hr   