
    h                        S SK JrJr  S SKrSSKJr  SSKJr  SSKJ	r	J
r
  SSKJr  S\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\
/\	4   4S j5       rS\S	\
S
\	4S jr\R                  " S5      S
\\	/\	4   4S j5       rS S!S".S\S	\
S#\S$\S
\	4
S% jjr\R                  " S&5      S S!S".S#\S$\S
\\	/\	4   4S' jj5       rS S(.S\S	\
S)\S
\	4S* jjr\R                  " S+5      S S(.S)\S
\\	/\	4   4S, jj5       r / S-Qr!g).    )CallablecastN   )Ops)registry)FloatsXdShape)partialopsshapereturnc           
          [         R                  " SUS   -  5      nU R                  [        [        [         R
                  R                  SX!5      5      5      $ )Ng      ?r   r   numpysqrt	asarray_fr   r   randomnormalr   r   scales      L/home/james-whalen/.local/lib/python3.13/site-packages/thinc/initializers.pylecun_normal_initr      ?    JJsU1X~&E==h(;(;Au(LMNN    zlecun_normal_init.v1c                       [        [        5      $ N)r
   r    r   r   configure_lecun_normal_initr      s    $%%r   c           
          [         R                  " SUS   -  5      nU R                  [        [        [         R
                  R                  SX!5      5      5      $ Ng       @r   r   r   r   s      r   he_normal_initr!      r   r   zhe_normal_init.v1c                       [        [        5      $ r   )r
   r!   r   r   r   configure_he_normal_initr#   !   s    >""r   c           
          [         R                  " SUS   US   -   -  5      nU R                  [        [        [         R
                  R                  SX!5      5      5      $ r    r   r   s      r   glorot_normal_initr%   &   sI    JJseAhq123E==h(;(;Au(LMNNr   zglorot_normal_init.v1c                       [        [        5      $ r   )r
   r%   r   r   r   configure_glorot_normal_initr'   +       %&&r   c           
          [         R                  " SUS   -  5      nU R                  [        [        [         R
                  R                  U* X!5      5      5      $ )N      @r   r   r   r   r   r   r   uniformr   s      r   he_uniform_initr-   0   A    JJsU1X~&E==h(<(<eVU(RSTTr   zhe_uniform_init.v1c                       [        [        5      $ r   )r
   r-   r   r   r   configure_he_uniform_initr0   5   s    ?##r   c           
          [         R                  " SUS   -  5      nU R                  [        [        [         R
                  R                  U* X!5      5      5      $ )Ng      @r   r+   r   s      r   lecun_uniform_initr2   :   r.   r   zlecun_uniform_init.v1c                       [        [        5      $ r   )r
   r2   r   r   r   configure_lecun_uniform_initr4   ?   r(   r   c           
          [         R                  " SUS   US   -   -  5      nU R                  [        [        [         R
                  R                  U* X!5      5      5      $ )Nr*   r   r   r+   r   s      r   glorot_uniform_initr6   D   sK    JJseAhq123E==h(<(<eVU(RSTTr   zglorot_uniform_init.v1c                       [        [        5      $ r   )r
   r6   r   r   r   configure_glorot_uniform_initr8   I   s    &''r   c                 $    U R                  U5      $ r   )alloc_f)r   r   s     r   	zero_initr;   N   s    ;;ur   zzero_init.v1c                       [        [        5      $ r   )r
   r;   r   r   r   configure_zero_initr=   R   s    9r   gg?lohir?   r@   c                    [         R                  R                  X#U5      nU R                  [	        [
        UR                  S5      5      5      $ )Nfloat32)r   r   r,   r   r   r   astype)r   r   r?   r@   valuess        r   uniform_initrE   W   s9     \\!!"%0F==hi(@ABBr   zuniform_init.v1c                     [        [        XS9$ )Nr>   )r
   rE   r>   s     r   configure_uniform_initrG   ^   s     <B..r   meanrI   c                4   [        U R                  R                  U R                  R                  U5      5      5      n[	        [
        [        R                  R                  X#S9R                  S5      5      nU R                  XA5      nU R                  U5      $ )N)r   sizerB   )intxpprodasarrayr   r   r   r   r   rC   	reshape_fr   )r   r   rI   rK   initss        r   normal_initrR   e   sl    svv{{366>>%012D5<<..T.ELLYWXEMM%'E==r   znormal_init.v1c                     [        [        U S9$ )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]      s6   !    " 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   