
    i                        d dl mZmZ d dlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ ded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee
ge	f   fd       Zded	e
d
e	fdZ ej                  d      d
ee	ge	f   fd       Zd d!d"ded	e
d#ed$ed
e	f
d%Z ej                  d&      d d!d"d#ed$ed
ee	ge	f   fd'       Zd d(ded	e
d)ed
e	fd*Z ej                  d+      d d(d)ed
ee	ge	f   fd,       Z g d-Z!y).    )CallablecastN   )Ops)registry)FloatsXdShape)partialopsshapereturnc           
          t        j                  d|d   z        }| j                  t        t        t         j
                  j                  d||                  S )Ng      ?r   r   numpysqrt	asarray_fr   r   randomnormalr   r   scales      c/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/thinc/initializers.pylecun_normal_initr      A    JJsU1X~&E==h(;(;Aue(LMNN    zlecun_normal_init.v1c                       t        t              S N)r
   r    r   r   configure_lecun_normal_initr      s    $%%r   c           
          t        j                  d|d   z        }| j                  t        t        t         j
                  j                  d||                  S Ng       @r   r   r   r   s      r   he_normal_initr!      r   r   zhe_normal_init.v1c                       t        t              S r   )r
   r!   r   r   r   configure_he_normal_initr#   !   s    >""r   c           
          t        j                  d|d   |d   z   z        }| j                  t        t        t         j
                  j                  d||                  S r    r   r   s      r   glorot_normal_initr%   &   sK    JJseAhq123E==h(;(;Aue(LMNNr   zglorot_normal_init.v1c                       t        t              S r   )r
   r%   r   r   r   configure_glorot_normal_initr'   +       %&&r   c           
          t        j                  d|d   z        }| j                  t        t        t         j
                  j                  | ||                  S )N      @r   r   r   r   r   r   r   uniformr   s      r   he_uniform_initr-   0   C    JJsU1X~&E==h(<(<eVUE(RSTTr   zhe_uniform_init.v1c                       t        t              S r   )r
   r-   r   r   r   configure_he_uniform_initr0   5   s    ?##r   c           
          t        j                  d|d   z        }| j                  t        t        t         j
                  j                  | ||                  S )Ng      @r   r+   r   s      r   lecun_uniform_initr2   :   r.   r   zlecun_uniform_init.v1c                       t        t              S r   )r
   r2   r   r   r   configure_lecun_uniform_initr4   ?   r(   r   c           
          t        j                  d|d   |d   z   z        }| j                  t        t        t         j
                  j                  | ||                  S )Nr*   r   r   r+   r   s      r   glorot_uniform_initr6   D   sM    JJseAhq123E==h(<(<eVUE(RSTTr   zglorot_uniform_init.v1c                       t        t              S r   )r
   r6   r   r   r   configure_glorot_uniform_initr8   I   s    &''r   c                 $    | j                  |      S r   )alloc_f)r   r   s     r   	zero_initr;   N   s    ;;ur   zzero_init.v1c                       t        t              S r   )r
   r;   r   r   r   configure_zero_initr=   R   s    9r   gg?lohir?   r@   c                    t         j                  j                  |||      }| j                  t	        t
        |j                  d                  S )Nfloat32)r   r   r,   r   r   r   astype)r   r   r?   r@   valuess        r   uniform_initrE   W   s;     \\!!"b%0F==hi(@ABBr   zuniform_init.v1c                 &    t        t        | |      S )Nr>   )r
   rE   r>   s     r   configure_uniform_initrG   ^   s     <B2..r   meanrI   c                >   t        | j                  j                  | j                  j                  |                  }t	        t
        t        j                  j                  ||      j                  d            }| j                  ||      }| j                  |      S )N)r   sizerB   )intxpprodasarrayr   r   r   r   r   rC   	reshape_fr   )r   r   rI   rK   initss        r   normal_initrR   e   sp    svv{{366>>%012D5<<..T.ELLYWXEMM%'E==r   znormal_init.v1c                 $    t        t        |       S )NrH   )r
   rR   rH   s    r   configure_normal_initrT   l   s    ;T**r   )	rR   rE   r6   r;   r2   r-   r%   r!   r   )"typingr   r   r   backendsr   configr   typesr   r	   utilr
   r   initializersr   r!   r#   r%   r'   r-   r0   r2   r4   r6   r8   r;   r=   floatrE   rG   rR   rT   __all__r   r   r   <module>r]      sH   !    " O3 Ou O O
 -.&Xugx.?%@ & /&O OE Oh O
 *+#(E7H+<"= # ,#OC O O( O
 ./'hw/@&A ' 0'U UU Ux U
 +,$8UGX,=#> $ -$UC U U( U
 ./'hw/@&A ' 0'US U U8 U
 /0(x0A'B ( 1(3 u   ~&Xxj(&:;  '
 ,0SC	CC#(C5:CC ()S//"/xj("#/ */ :;  S      x   '(+, +5 +8*h:N1O + )+
r   