
    
NgV                         d dl mZmZ d dlZd dlmZ d dlmZ 	 	 	 	 ddej	        de
d	ee         d
ededeej	                 fdZ G d de          Z G d de          Z G d de          ZdS )    )OptionalTupleN)RandomState)OpRun      ?FXdrop_probabilityseedtraining_modereturn_maskreturnc                 (   |dk    s|s'|r"| t          j        | j        t                    fS | fS t	          |          }|                    dd| j                  |k    }dd|z
  z  }|r"|| z  |z  |                    t                    fn|| z  |z  fS )Nr   )dtypeg      ?)nponesshapeboolr   uniformastype)r   r	   r
   r   r   rndmaskscales           Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/reference/ops/op_dropout.py_dropoutr      s     1M 	3bgagT22222t
d

C;;q#qw''+;;D3))*E4?XD1Hudkk$//00dQhQVFVEXX    c                   d    e Zd Zd Z	 	 	 ddej        dee         dede	d	e
ej                 f
d
ZdS )DropoutBasec                 d    t          j        | ||           t          |j                  | _        d S N)r   __init__lenoutput	n_outputs)self	onnx_node
run_paramss      r   r    zDropoutBase.__init__!   s,    tY
333Y-..r   Nr   Fr   r
   ratior   r   c                 <    t          |||| j        dk    |          S )N   )r
   r   r   )r   r#   )r$   r   r
   r'   r   s        r   _private_runzDropoutBase._private_run%   s1     !+'
 
 
 	
r   )Nr   F)__name__
__module____qualname__r    r   ndarrayr   intfloatr   r   r*    r   r   r   r       s        / / / ##
 
:
 sm
 	

 
 
rz	
 
 
 
 
 
r   r   c                       e Zd ZddZdS )	Dropout_7Nc                 .    |                      ||          S r   )r*   )r$   r   r'   s      r   _runzDropout_7._run6   s      E***r   r   r+   r,   r-   r5   r1   r   r   r3   r3   5   s(        + + + + + +r   r3   c                       e Zd ZdddZdS )
Dropout_12N)r
   c                    |d         }t          |          dk    rdn|d         }t          |          dk    rdn|d         }|                     ||||          S )Nr      r   r)   F)r
   r'   r   )r!   r*   )r$   r
   inputsr   r'   r   s         r   r5   zDropout_12._run;   sk    1I6{{a''VAY!$V!1!1vay  D] ! 
 
 	
r   r6   r1   r   r   r8   r8   :   s0        !% 
 
 
 
 
 
 
r   r8   )r   NFF)typingr   r   numpyr   numpy.randomr   onnx.reference.op_runr   r.   r0   r/   r   r   r   r3   r8   r1   r   r   <module>r@      sN   # " " " " " " "     $ $ $ $ $ $ ' ' ' ' ' '
 "Y Y	zYY 3-Y 	Y
 Y 2:Y Y Y Y$
 
 
 
 
% 
 
 
*+ + + + + + + +

 
 
 
 
 
 
 
 
 
r   