+
    Ci*                     ^    ^ RI t ^ RIHtHtHt ^ RIt^ RIt^ RI	H
t
 ^ RIH
t  ! R R4      tR# )    N)DictListTuple)Imagec                      a  ] tR t^
t o RtV 3R lR ltV 3R lR ltV 3R lR lt]R 4       t	]R	 4       t
]R
 4       t]R 4       tRtV tR# )BaseSessionzJThis is a base class for managing a session with a machine learning model.c                :   < V ^8  d   QhRS[ RS[P                  /# )   
model_name	sess_opts)strortSessionOptions)format__classdict__s   "Q/var/www/html/photoedit/myenv/lib/python3.14/site-packages/rembg/sessions/base.py__annotate__BaseSession.__annotate__   s!     
 
3 
33E3E 
    c           	        Wn         RV9   d0   \        VR,          \        4      '       d   VP                  R4      pMk\        P
                  ! 4       pVR8X  d    R\        P                  ! 4       9   d   RR.pM0VR,          R8X  d    R\        P                  ! 4       9   d   RR.pMR.p\        P                  ! \        V P                  P                  ! V/ VB 4      VVR7      V n        R# )	z0Initialize an instance of the BaseSession class.	providersGPUCUDAExecutionProviderCPUExecutionProvider:r      NROCMExecutionProvider)sess_optionsr   N)r   
isinstancelistpopr   
get_deviceget_available_providersInferenceSessionr   	__class__download_modelsinner_session)selfr   r   argskwargsr   device_types   &&&*,  r   __init__BaseSession.__init__   s    $& Z{0CT%J%J

;/I..*Ku$+s/J/J/LL46LM	C E)+s/J/J/LL46LM	34	 11..??@"
r   c                   < V ^8  d   QhRS[ RS[S[S[S[3,          RS[S[S[S[3,          RS[S[S[3,          RS[S[S[P                  3,          /# )r
   imgmeanstdsizereturn)PILImager   floatintr   r   npndarray)r   r   s   "r   r   r   (   sj     
 

 E5%'(
 5%&'	

 CHo
 
c2::o	
r   c                4   VP                  R 4      P                  V\        P                  P                  4      p\
        P                  ! V4      pV\        \
        P                  ! V4      R4      ,          p\
        P                  ! VP                  ^ ,          VP                  ^,          ^34      p	VR,          V^ ,          ,
          V^ ,          ,          V	R&   VR,          V^,          ,
          V^,          ,          V	R&   VR,          V^,          ,
          V^,          ,          V	R&   V	P                  R4      p	V P                  P                  4       ^ ,          P                  \
        P                  ! V	^ 4      P                  \
        P                   4      /# )RGBgư>)NNNr:   r   )r:   r:      )r:   r:   r
   )r
   r   r;   )convertresizer   
ResamplingLANCZOSr6   arraymaxzerosshape	transposer&   
get_inputsnameexpand_dimsastypefloat32)
r'   r.   r/   r0   r1   r(   r)   imim_arytmpImgs
   &&&&&*,   r   	normalizeBaseSession.normalize(   s&    [[&&tU-=-=-E-EF"#bffVnd336<<?FLLOQ?@!'?T!W4A>w!'?T!W4A>w!'?T!W4A>w!!), ))+A.T2>>&!,VBJJ
 	
r   c                6   < V ^8  d   QhRS[ RS[S[ ,          /# )r
   r.   r2   )r3   r   )r   r   s   "r   r   r   C   s     " "8 "h "r   c                    \         hNNotImplementedError)r'   r.   r(   r)   s   &&*,r   predictBaseSession.predictC   s    !!r   c                4    \         P                  ! R R4      RJ# )MODEL_CHECKSUM_DISABLEDN)osgetenvclsr(   r)   s   &*,r   checksum_disabledBaseSession.checksum_disabledF   s    yy2D9EEr   c                    \         P                  P                  \         P                  ! R \         P                  P	                  \         P                  ! RR4      R4      4      4      # )
U2NET_HOMEXDG_DATA_HOME~z.u2net)rX   path
expanduserrY   joinrZ   s   &*,r   
u2net_homeBaseSession.u2net_homeJ   sD    ww!!IIbggll299_c+JHU
 	
r   c                    \         hrQ   rR   rZ   s   &*,r   r%   BaseSession.download_modelsR       !!r   c                    \         hrQ   rR   rZ   s   &*,r   rF   BaseSession.nameV   ri   r   )r&   r   N)__name__
__module____qualname____firstlineno____doc__r+   rM   rT   classmethodr\   re   r%   rF   __static_attributes____classdictcell__)r   s   @r   r   r   
   sx     T
 
6
 
6" " F F 
 
 " " " "r   r   )rX   typingr   r   r   numpyr6   onnxruntimer   PILr   	PIL.Imager3   r    r   r   <module>rz      s&    	 $ $    'N" N"r   