
    hV                         S SK JrJr  S SKrS SKJr  S SKJr      SS\R                  S\
S\\   S\S	\S
\\R                     4S jjr " S S\5      r " S S\5      r " S S\5      rg)    )OptionalTupleN)RandomState)OpRunXdrop_probabilityseedtraining_modereturn_maskreturnc                 6   US:X  d  U(       d/  U(       a%  U [         R                  " U R                  [        S94$ U 4$ [	        U5      nUR                  SSU R                  5      U:  nSSU-
  -  nU(       a  X`-  U-  UR                  [        5      4$ X`-  U-  4$ )Nr   )dtypeg      ?)nponesshapeboolr   uniformastype)r   r   r	   r
   r   rndmaskscales           W/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_dropout.py_dropoutr      s     1MbggaggT222t
d
C;;q#qww'+;;D3))*E4?DHudkk$/0XdhQVFVEXX    c                   v    \ rS rSrS r   SS\R                  S\\   S\	S\
S\\R                     4
S	 jjrS
rg)DropoutBase    c                 f    [         R                  " XU5        [        UR                  5      U l        g N)r   __init__lenoutput	n_outputs)self	onnx_node
run_paramss      r   r    DropoutBase.__init__!   s"    t
3Y--.r   Nr   r	   ratior
   r   c                 6    [        UUUU R                  S:H  US9$ )N   )r	   r   r
   )r   r#   )r$   r   r	   r(   r
   s        r   _private_runDropoutBase._private_run%   s)     !+'
 	
r   )r#   )N      ?F)__name__
__module____qualname____firstlineno__r    r   ndarrayr   intfloatr   r   r+   __static_attributes__ r   r   r   r       s]    / ##
::
 sm
 	

 
 
rzz	
 
r   r   c                       \ rS rSrSS jrSrg)	Dropout_75   Nc                 $    U R                  X5      $ r   )r+   )r$   r   r(   s      r   _runDropout_7._run6   s      **r   r6   r   r.   r/   r0   r1   r;   r5   r6   r   r   r8   r8   5   s    +r   r8   c                   "    \ rS rSrSS.S jrSrg)
Dropout_12:   N)r	   c                    US   n[        U5      S::  a  SOUS   n[        U5      S::  a  SOUS   nU R                  X1XES9$ )Nr      r-   r*   F)r	   r(   r
   )r!   r+   )r$   r	   inputsr   r(   r
   s         r   r;   Dropout_12._run;   sT    1I6{a'VAY!$V!1vay   ! 
 	
r   r6   r=   r6   r   r   r?   r?   :   s    !% 
 
r   r?   )r-   NFF)typingr   r   numpyr   numpy.randomr   onnx.reference.op_runr   r2   r4   r3   r   r   r   r8   r?   r6   r   r   <module>rI      s    #  $ '
 "Y	zzYY 3-Y 	Y
 Y 2::Y$
% 
*+ +

 
r   