
    i                        d dl Z d dlZd dlZd dlZd dlmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZ ddlmZ erddlmZ g dZd	ed
efdZ	 dd	ed
ededgdf   fdZd Zde	eeee   f      fdZ	 	 	 dd	ed
ede	eeee   f      dedgdf   fdZy)    N)TYPE_CHECKINGCallableDictListOptionalSet)with_nvtx_range)use_nvtx_range   )Warnings)Language)
pipepredictset_annotationsupdaterehearseget_loss
initializebegin_updatefinish_updater   forward_colorbackprop_colorc                 J   | j                   D cg c]  \  }}t        |d      r|j                  r|! }}}t               }|D ]W  }|j                  j                         D ]8  }t        |      |v r|j                  t        |             t        |||       : Y | S c c}}w )Nis_trainabler   r   )	
componentshasattrr   setmodelwalkidaddr	   )nlpr   r   _r   pipesseen_modelsnodes           c/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/ml/callbacks.pymodels_with_nvtx_ranger)      s     ~~At4(T->-> 	E   EK JJOO% 	D$x;&OOBtH%M.		 J!s   $Breturnr   c                 :    t        j                  t        | |      S )Nr   )	functoolspartialr)   r   s     r(   create_models_with_nvtx_ranger.   3   s      #%     c                     t        |t        j                        r ||i |S t        | j                   d|j
                         5   ||i |cd d d        S # 1 sw Y   y xY w)N )
isinstancer,   r-   r
   name__name__)selffuncargskwargss       r(   "nvtx_range_wrapper_for_pipe_methodr9   =   s_    $	))*T$V$$tyyk4==/:; 	)((	) 	) 	)s   AA"additional_pipe_functionsc           	         | j                   D ]  \  }}|r|j                  |j                  g       }ng }t        |z   D ]  }t	        ||d       }|C||v r>t        j                  t        j                  j                  ||j                               Ut        j                  t        j                  t        |      |      }	 t        j                   |      |_        	 t'        |||         | S #  t        j                  t        j$                  j                  ||j                               Y xY w# t(        $ rB t        j                  t        j$                  j                  ||j                               Y Aw xY w)N)methodr   )r   getr3   %DEFAULT_NVTX_ANNOTATABLE_PIPE_METHODSgetattrwarningswarnr   W121formatr,   r-   types
MethodTyper9   inspect	signature__signature__W122setattrAttributeError)r#   r:   r$   r   extra_funcsr3   r6   wrapped_funcs           r(   pipes_with_nvtx_rangerN   E   sQ    >> !Q4$377		2FKK9KG 	QD4t,D|;&MM(--"6"6d"6"ST$,,  !CTJDL-4->->t-D*Q +	Q!QF Jhmm22$TYY2OP " Qhmm22$TYY2OPQs    C/D4/A D14AE?>E?c                       fd}|S )Nc                 :    t        |       } t        |       } | S )N)r)   rN   )r#   r:   r   r   s    r(   innerz6create_models_and_pipes_with_nvtx_range.<locals>.inners   s#    $S-H#C)BC
r/    )r   r   r:   rQ   s   ``` r(   'create_models_and_pipes_with_nvtx_rangerS   n   s    

 Lr/   )rT   )rT   rT   N)r,   rF   rD   r@   typingr   r   r   r   r   r   thinc.layersr	   
thinc.utilr
   errorsr   languager   r>   intr)   r.   r9   strrN   rS   rR   r/   r(   <module>r\      s        E E ( % #) %s C * 46-0zlJ&')&$,T#tCy.-A$B&T @D


  (S$s)^(<=
 zlJ&'	
r/   