
    &VfC                         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 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dS )    N)standardize_dtype)floatx)SeedGenerator)	draw_seed)make_default_seedc                 H    t          j        t          |           d          S )Nint32dtype)tfcastr   seeds    `/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/tensorflow/random.pytf_draw_seedr   
   s    79T??'2222                  ?c                     |pt                      }t          |          }t          j                            | ||||          S Nshapemeanstddevr   r   )r   r   r   randomstateless_normalr   s        r   normalr      sG    VXXED9%%$vU &   r   c                     |pt                      }t          |          }t          j                            | t          j        ||          t          j        ||          ||          S )Nr   minvalmaxvalr   r   )r   r   r   r   stateless_uniformr   r   s        r   uniformr#      sc    VXXED9&&wvu%%wvu%% '   r   int64c                     t          |          }t          j                            | ||          }t          j        ||          S )Nr   )r   r   r   stateless_categoricalr   )logitsnum_samplesr   r   outputs        r   categoricalr*   #   s=    DY,,V[t,LLF765!!!r   r	   c                     |}t          |          dvrd}t          |          }t          j                            | ||||          }t          j        ||          S )N)r	   r$   r$   r   )r   r   r   r   r"   r   )r   r    r!   r   r   intemediate_dtyper)   s          r   randintr-   )   sn    '999#DY(( )  F 765!!!r   c                     |pt                      }t          |          }t          j                            | ||||          S r   )r   r   r   r   stateless_truncated_normalr   s        r   truncated_normalr0   8   sG    VXXED9//$vU 0   r   c                     |t          j        |           S t          j        |           }g }t          |          D ]$\  }}|                    |||         n|           %|S )N)r   r   	enumerateappend)inputsnoise_shapeconcrete_inputs_shapeconcrete_noise_shapeivalues         r   _get_concrete_noise_shaper:   @   s    xHV,,k** 
 
5##(-!!$$5	
 	
 	
 	
  r   c                     t          |          }t          | |          }t          j        j                            | |||          S )N)rater5   r   )r   r:   r   nnexperimentalstateless_dropout)r4   r<   r5   r   s       r   dropoutr@   M   sL    D+FK@@K5//	 0   r   c                    ddl m} t          |          }|dk    r&t          j        j                            | |          S  || d|          } t          j        j                            | |          }  || d|          } | S )Nr   )swapaxesr   )axis1axis2)"keras.src.backend.tensorflow.numpyrB   r   r   r   r>   stateless_shuffle)xaxisr   rB   s       r   shufflerI   X   s    ;;;;;;Dqyyy%777EEE!4(((A
	000>>A!4(((AHr   c                     |pt                      }t          |          }|}t          |          dk    rd}t          j        t          j                            | |||          |          S )Nbfloat16float32)alphar   r   )r   r   r   r   r   r   stateless_gamma)r   rM   r   r   r,   s        r   gammarO   d   s{    VXXED:--%7
	!!#	 	" 	
 	
 	  r   c           	          |pt                      }t          |          }|}t          |          dk    rd}t          j        t          j                            | ||||          |          S )NrK   rL   )r   r   countsprobsoutput_dtype)r   r   r   r   r   r   stateless_binomial)r   rQ   probabilitiesr   r   r,   s         r   binomialrV   v   s~    VXXED:--%7
	$$* 	% 	
 	
 		 	 	r   c                 p   |pt                      }t          |          }|dz   }|}t          |          dk    rd}t          j        ||          }t          j        ||          }t          j        |          dk    rt          j        ||           }t          j        |          dk    rt          j        ||           }t          j        t          j        	                    | |||          |          }t          j        t          j        	                    | |||          |          }	|||	z   z  }
|
S )N   rK   rL   r
      )r   r   rM   r   )
r   r   r   r   convert_to_tensorrankbroadcast_tor   r   rN   )r   rM   betar   r   seed_1seed_2r,   gamma_agamma_bsamples              r   r]   r]      sM   VXXE $F b[F :--% .?@@@E,=>>>D 
wu~~u--	wt}}qtU++g
	!!fE9J 	" 	
 	
 		 G g
	!!fD8I 	" 	
 	
 		 G ')*FMr   )r   r   NN)r$   N)r	   N)NN)r   N)
tensorflowr   keras.src.backend.commonr   keras.src.backend.configr   keras.src.random.seed_generatorr   r   r   r   r   r#   r*   r-   r0   r:   r@   rI   rO   rV   r]    r   r   <module>rh      s[       6 6 6 6 6 6 + + + + + + 9 9 9 9 9 9 5 5 5 5 5 5 = = = = = =3 3 3
   	 	 	 	" " " "" " " "   
  
  
    	 	 	 	   $   &3 3 3 3 3 3r   