
    2Vhy                         d dl Zd dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 ddZ
ddZdd	Zdd
ZddZddZddZddZddZddZy)    N)floatx)softmax)SeedGenerator)	draw_seed)make_default_seedc                     |xs
 t               }t        |      }t        j                  j	                  |      }|j                  | ||      j                  |      S )N)sizelocscale)r   r   nprandomdefault_rngnormalastype)shapemeanstddevdtypeseedrngs         N/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/backend/numpy/random.pyr   r   
   sK    VXET?D
))


%C::5d&:9@@GG    c                     |xs
 t               }t        |      }t        j                  j	                  |      }|j                  | ||      j                  |      S )N)r	   lowhigh)r   r   r   r   r   uniformr   )r   minvalmaxvalr   r   r   s         r   r   r      sK    VXET?D
))


%C;;EvF;;BB5IIr   c                 T   t        |      }t        j                  j                  |      }g }| D ]T  }t	        |      }t        j
                  |j                  d         }|j                  |||      }	|j                  |	       V t        j                  |      j                  |      S )N)r	   p)r   r   r   r   r   aranger   choiceappendarrayr   )
logitsnum_samplesr   r   r   outputlogits_instanceprobabilitiesclassessampless
             r   categoricalr-      s    T?D
))


%CF! 0))O11"56**W;-*Hg	
 88F""5))r   c                     t        |      }t        j                  j                  |      }|j	                  ||| |      }|S )N)r   r   r	   r   )r   r   r   r   integers)r   r   r   r   r   r   r(   s          r   randintr0   $   s:    T?D
))


%C\\f6U\KFMr   c                    |xs
 t               }t        |      }t        j                  j	                  |      }|d|z  z
  }|d|z  z   }t        j
                  |       }t        j                  d      }	|	j                  d   |k  rK|j                  |||      }
|
|
|k\  |
|k  z     }t        j                  |	|      }	|	j                  d   |k  rK|	d | j                  |      j                  |       S )N   r   )r
   r   r	   )r   r   r   r   r   prodemptyr   r   r$   r   reshape)r   r   r   r   r   r   lower_boundupper_bound
flat_shaperandom_numbersbatchvalids               r   truncated_normalr<   +   s    VXET?D
))


%CV#KV#KJXXa[N 

q
!J
.

t6

C u+0DEF >59 

q
!J
. +:&--e4<<UCCr   c                    | j                   }t        |      }d|z
  }|| j                  }n.t        |      D cg c]  \  }}||n| j                  |    }}}t        j
                  j                  |      }|j                  |      |k  }	t	        j                  |	| j                        }	t	        j                  |	| |z  j                  |      t	        j                  |             S c c}}w )N      ?)r	   )r   r   r   	enumerater   r   r   r   broadcast_towherer   
zeros_like)
inputsratenoise_shaper   r   	keep_probinr   masks
             r   dropoutrJ   E   s    LLET?Dd
I ll "+.
1 AFLLO3
 

 ))


%C;;K;(94D??4.D88v	!))%0"--2G 
s   C*c                 |    t        |      }t        j                  j                  |      }|j	                  | |      S )N)axis)r   r   r   r   permuted)xrL   r   r   s       r   shufflerO   ^   s2    T?D
))


%C<<<%%r   c                     |xs
 t               }t        |      }t        j                  j	                  |      }|j                  |d|       j                  |      S )Nr>   )r   r	   )r   r   r   r   r   gammar   )r   alphar   r   r   s        r   rQ   rQ   d   sK    VXET?D
))


%C99U#E9299%@@r   c                     |xs
 t               }t        |      }t        j                  j	                  |      }|j                  |||       j                  |      }|S )N)rH   r!   r	   )r   r   r   r   r   binomialr   )r   countsr*   r   r   r   samples          r   rT   rT   k   sO    VXET?D
))


%C\\Fm%\@GGNFMr   c                     |xs
 t               }t        |      }t        j                  j	                  |      }|j                  |||       j                  |      }|S )N)abr	   )r   r   r   r   r   betar   )r   rR   rZ   r   r   r   rV   s          r   rZ   rZ   s   sO    VXET?D
))


%CXXEX299%@FMr   )g        r>   NN)int64N)int32N)NN)r   N)numpyr   keras.src.backend.configr   keras.src.backend.numpy.nnr   keras.src.random.seed_generatorr   r   r   r   r   r-   r0   r<   rJ   rO   rQ   rT   rZ    r   r   <module>rb      sM     + . 9 5 =HJ	*D42&Ar   