
    i,                     F   d dl 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mZmZmZmZmZmZ  edee   ee   ee   ee   eeeeeee      Z ej&                  d      de	eef   d	e	eef   fd
       Zde	eef   deded	eeef   fdZ	 dde	eef   dee   dee   d	dfdZy)    )CallableListOptionalTupleTypeVar   )registry)Model)Floats1dFloats2dFloats3dFloats4dFloatsXdPaddedRaggedInTzresidual.v1layerreturnc           
          t        d| j                   dt        t        | g| j	                  d      r| j                  d      nd | j	                  d      r| j                  d      nd d      S )Nz	residual()nOnI)r   r   )initlayersdims)r
   nameforwardr   has_dimget_dim)r   s    f/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/thinc/layers/residual.pyresidualr!      sa    
EJJ<q!w).t)<%--%$).t)<%--%$
	 	    modelXis_trainc                    dt         dt         ffd} | j                  d   |      \  }t        t              r-t	        t                    D cg c]  }|   ||   z    c}|fS t        t              r/t        j                  |j                  z   j                        |fS t        t              r#|xj                  j                  z  c_        ||fS |z   |fS c c}w )Nd_outputr   c                 z    |       }t        | t              r+t        t        |             D cg c]  }| |   ||   z    c}S t        | t              r-t	        | j
                  |j
                  z   |j                        S t        t              r!|xj
                  | j
                  z  c_        |S | |z   S c c}w )N)
isinstancelistrangelenr   datalengthsr   )r'   dXir$   backprop_layers      r    backpropzforward.<locals>.backprop   s    H%h%16s8}1EFAHQK"Q%'FF&)(--"''12::>>6"GGx}}$GIb=  Gs   B8r   )
r   r   r)   r*   r+   r,   r   r-   r.   r   )r#   r$   r%   r2   Yr0   r1   s    `    @r    r   r      s    
!3 
!3 
! (Q84A~!T%*3q6]3!qt3X==	Av	affqvvoqyy18;;	Av		!&&({1uh 4s   C%Nr3   c                 Z   | j                   d   }|j                  d      |j                  ||       n|j                  |       |j                  d      r!| j                  d|j	                  d             |j                  d      r"| j                  d|j	                  d             y y )Nr   r   )r$   r3   )r$   r   )r   r   
initializeset_dimr   )r#   r$   r3   first_layers       r    r   r   5   s     ,,q/K4 (a(#4 dK//564 dK//56 !r"   )NN)typingr   r   r   r   r   configr	   r#   r
   typesr   r   r   r   r   r   r   r   r   r!   boolr   r    r"   r    <module>r=      s    ; ;   T T T 	4>4>4>4>
FHh(HF 
E#s(O 
c3h 
  
5c? s d uS(]?S 4 IM7c?7'}78@7	7r"   