
    i              
           d dl mZmZmZ d dlZd dlmZ ddlmZ ddl	m
Z
  ej                  d      de
d	ed
e
fd       Zde
deded
eeef   fdZde
deded
dfdZd Zd Zy)    )AnyCallableTupleN)Ops   )registry)Modelzwith_cpu.v1layeropsreturnc                     | j                          t        d| j                   dt        | g|t        | j
                  D ci c]  }|| j                  |       c}      S c c}w )Nz	with_cpu())layersr   initdims)to_cpur	   nameforwardr   	dim_namesmaybe_get_dim)r
   r   r   s      f/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/thinc/layers/with_cpu.pywith_cpur      s^    	LLN
EJJ<q!w:?//J$dE''--J  Ks    A!modelXis_trainc                     | j                   d   j                  t        |            \  }t        | j                  |      }fd}||fS )Nr   c                 *    t        |       } |      S N)_to_cpu)	d_outputscpu_d_outputsbackprops     r   with_cpu_backpropz"forward.<locals>.with_cpu_backprop   s    	*&&    )r   begin_updater   
_to_devicer   )r   r   r   cpu_outputsgpu_outputsr#   r"   s         @r   r   r      sG    !LLO88DKUYY4K' )))r$   Yc                 B    | j                   d   j                  ||       y )Nr   )r   
initialize)r   r   r)   s      r   r   r   #   s    	LLOq!$r$   c                 @   t        | t        j                        r| S t        | t              r"t        | D cg c]  }t	        |       c}      S t        | t
              r| D cg c]  }t	        |       c}S t        | d      r| j                         S | S c c}w c c}w )Nget)
isinstancenumpyndarraytupler   listhasattrr-   )r   xs     r   r   r   '   sz    !U]]#	Au	!,Qgaj,--	At	$%&q
&&	E	uuw -&s   B#Bc           	          t        |t              r#t        |D cg c]  }t        | |       c}      S t        |t              r|D cg c]  }t        | |       c}S | j	                  |      S c c}w c c}w r   )r.   r1   r&   r2   asarray)r   r   r4   s      r   r&   r&   4   sa    !U!4Qja(455	At	,-.q
3"..{{1~	 5.s   A/A4)typingr   r   r   r/   thinc.backendsr   configr   r   r	   r   r   boolr   r   r   r&    r$   r   <module>r<      s    ' '     	E 	 	 	  	*5 *S *D *U3=5I *% %# %# %$ %
r$   