
    ijt                         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 ZddZddZ	dd	Z
dd
ZddZd ZddZddZddZddZddZy)    N)floatx)SeedGenerator)	draw_seed)make_default_seedc                 P    t        | t        j                        r| S t        |       S N)
isinstancejaxArrayr   )seeds    q/var/www/html/emotional.easysim.app/public_html/venv/lib/python3.12/site-packages/keras/src/backend/jax/random.pyjax_draw_seedr   	   s    $		"    c                     |xs
 t               }t        |      }t        j                  j	                  || |      }||z  |z   S N)shapedtype)r   r   r
   randomnormalr   meanstddevr   r   samples         r   r   r      sB    VXEDZZt5>FF?T!!r   c                 |    |xs
 t               }t        |      }t        j                  j	                  || |||      S N)r   r   minvalmaxval)r   r   r
   r   uniformr   r   r   r   r   s        r   r   r      s?    VXED::Evf   r   c                     t        |      }t        | j                        }||d<   t        |      }t        j
                  j                  || d   |d      }|j                  |      S )N   ).N)r   axis)r   listr   tupler
   r   categoricalastype)logitsnum_samplesr   r   output_shapeoutputs         r   r%   r%      se    D%L!LO&LZZ##fY|! $ F ==r   c                 `    t        |      }t        j                  j                  || |||      S r   )r   r
   r   randintr   s        r   r,   r,   *   s3    D::Evf   r   c                     |xs
 t               }t        |      }t        j                  j	                  || dd|      }||z  |z   S )Ng       g       @)r   lowerupperr   )r   r   r
   r   truncated_normalr   s         r   r0   r0   1   sM    VXEDZZ((ES ) F F?T!!r   c                     || j                   S | j                   }g }t        |      D ]  \  }}|j                  |||   n|        |S r   )r   	enumerateappend)inputsnoise_shapeconcrete_inputs_shapeconcrete_noise_shapeivalues         r   _get_concrete_noise_shaper:   :   s_    ||"LLk* 
5##(-!!$5	

  r   c                    |dk(  rt         j                  j                  |       S |dk(  r| S t        |      }d|z
  }t	        | |      }t         j
                  j                  |||      }t         j                  j                  || j                        }t         j                  j                  || |z  t         j                  j                  |             S )N      ?        )pr   )r
   numpy
zeros_liker   r:   r   	bernoullibroadcast_tor   laxselect)r4   rater5   r   	keep_probmasks         r   dropoutrH   G   s    s{yy##F++s{Dd
I ,FK@K::	ED99!!$5D77>>fy #))"6"6v"> r   c                 ^    t        |      }t        j                  j                  || |d      S )NT)independent)r   r
   r   permutation)xr"   r   s      r   shufflerM   X   s*    D::!!$4T!BBr   c                 z    t        |      }|xs
 t               }t        j                  j	                  ||| |      S r   )r   r   r
   r   gamma)r   alphar   r   s       r   rO   rO   ]   s6    DVXE::D%uEBBr   c                     |xs
 t               }t        |      }t        j                  j	                  |      }t        j                  j	                  |      }t        j
                  j                  |||| |      }|S )N)keynr>   r   r   )r   r   r
   r?   arrayr   binomial)r   countsprobabilitiesr   r   r   s         r   rU   rU   c   sg    VXEDYY__V$FIIOOM2MZZ  Fm5 ! F Mr   c                     |xs
 t               }t        |      }t        j                  j	                  |      }t        j                  j	                  |      }t        j
                  j                  |||| |      }|S )N)rR   abr   r   )r   r   r
   r?   rT   r   beta)r   rP   r[   r   r   r   s         r   r[   r[   o   se    VXEDIIOOE"E99??4 DZZ__ETe  F Mr   )r=   r<   NN)int32N)NN)r   N)r
   keras.src.backend.configr   keras.src.random.seed_generatorr   r   r   r   r   r   r%   r,   r0   r:   rH   rM   rO   rU   r[    r   r   <module>r`      sR    
 + 9 5 =" "
 "C
C		r   