
    wi                        d dl mZ d dlZd dlmZ d dlmZ 	 	 	 	 dddZ G d de          Z	 G d de	          Z
 G d de	          ZdS )    )annotationsN)RandomState)OpRun      ?FX
np.ndarraydrop_probabilityfloatseed
int | Nonetraining_modeboolreturn_maskreturntuple[np.ndarray]c                (   |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shaper   r   uniformastype)r   r	   r   r   r   rndmaskscales           m/root/.openclaw/workspace/chatterbox_venv_py311/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                  $    e Zd Zd Z	 	 	 dd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   r   r   ratior
   r   r   r   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)
r   r   r   r   r*   r
   r   r   r   r   )__name__
__module____qualname__r#   r-    r   r   r    r       sG        / / /  #
 
 
 
 
 
 
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._run4   s      E***r   r"   r.   r/   r0   r5   r1   r   r   r3   r3   3   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._run9   sn    1I6{{a''VAY!$V!1!1vay  '	 ! 
 
 	
r   r6   r1   r   r   r8   r8   8   s0        !% 	
 	
 	
 	
 	
 	
 	
r   r8   )r   NFF)r   r   r	   r
   r   r   r   r   r   r   r   r   )
__future__r   numpyr   numpy.randomr   onnx.reference.op_runr   r   r    r3   r8   r1   r   r   <module>r@      s    # " " " " "     $ $ $ $ $ $ ' ' ' ' ' '
 "Y Y Y Y Y$
 
 
 
 
% 
 
 
*+ + + + + + + +


 

 

 

 

 

 

 

 

 

r   