
    h                     X    S SK rS SKrS SKJr  S SKJr  S SKJr  SS jr " S S\5      r	g)	    N)helper)Base)expectc                 n   US:X  d  USL a,  USL a%  U [         R                  " U R                  [        S94$ U $ [         R                  R                  U5        [         R                  R                  SSU R                  5      U:  nSSU-
  -  nU(       a  XP-  U-  UR                  [        5      4$ XP-  U-  $ )Nr   FT)dtypeg      ?   )nponesshapeboolrandomseeduniformastype)Xdrop_probabilityr   training_modereturn_maskmaskscales          ]/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/dropout.pydropoutr      s    1 6$bggaggT222HIINN499QQWW-1AAD%%&Ex%T!2228e    c                      \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\SS j5       r
\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)Dropout   Nc                      [         R                  " S5      n [        R                  R	                  SS/S/U S9n[         R
                  R                  SSS5      R                  [         R                  5      n[        U5      n[        X/U/S	S
9  g )Nr   r   xyinputsoutputsr            test_dropout_defaultr!   r"   namer	   int64onnxr   	make_noder   randnr   float32r   r   )r   noder   r   s       r   export_defaultDropout.export_default   sp    xx{{{$$YuseRV$WIIOOAq!$++BJJ7AJtC!3IJr   c                  P   [         R                  " S5      n [        R                  R	                  SSS/S/U S9n[         R
                  " S5      n[         R                  R                  SS	S
5      R                  [         R
                  5      n[        X25      n[        XU/U/SS9  g )Nr   r   r   rr   r    皙?r#   r$   r%   test_dropout_default_ratior'   r	   r*   r+   r   r,   r.   r   r-   r   r   r   )r   r/   r3   r   r   s        r   export_default_ratioDropout.export_default_ratio'   s    xx{{{$$sCj3%d % 
 JJsOIIOOAq!$++BJJ7AMtFQC6RSr   c                  $   [         R                  " S5      n [        R                  R	                  SS/SS/U S9n[         R
                  R                  SSS	5      R                  [         R                  5      n[        US
S9u  p4[        X/X4/SS9  g )Nr   r   r   r   zr    r#   r$   r%   Tr   test_dropout_default_maskr'   r)   )r   r/   r   r   r:   s        r   export_default_maskDropout.export_default_mask3   s}    xx{{{$$sec3Zd % 
 IIOOAq!$++BJJ7qd+tC!6QRr   c                  T   [         R                  " S5      n [        R                  R	                  SSS/SS/U S9n[         R
                  " S5      n[         R                  R                  S	S
S5      R                  [         R
                  5      n[        X2SS9u  pE[        XU/XE/SS9  g )Nr   r   r   r3   r   r:   r    r4   r#   r$   r%   Tr;   test_dropout_default_mask_ratior'   r6   )r   r/   r3   r   r   r:   s         r   export_default_mask_ratio!Dropout.export_default_mask_ratio>   s    xx{{{$$sCj3*4 % 
 JJsOIIOOAq!$++BJJ7q.Q!6W	
r   c                  z   [         R                  " S5      n [        R                  R	                  S/ SQS/U S9n[         R
                  R                  SSS5      R                  [         R                  5      n[         R                  " S	5      n[         R                  " S
5      n[        X#US9n[        XX4/U/SS9  g )Nr   r   r   r3   tr   r    r#   r$   r%         ?Tr   test_training_dropout_defaultr'   r	   r*   r+   r   r,   r   r-   r   r.   bool_r   r   r   r/   r   r3   rE   r   s         r   export_training_defaultDropout.export_training_defaultN   s    xx{{{$$ou4 % 
 IIOOAq!$++BJJ7JJsOHHTNA*QQC6U	
r   c                     [         R                  " S5      n [        R                  R	                  S/ SQSS/U S9n[         R
                  R                  SSS	5      R                  [         R                  5      n[         R                  " S
5      n[         R                  " S5      n[        X#USS9u  pV[        UX#U/XV/SS9  g )Nr   r   rD   r   r:   r    r#   r$   r%   rF   Tr   r   "test_training_dropout_default_maskr'   rI   r   r/   r   r3   rE   r   r:   s          r   "export_training_default_ratio_mask*Dropout.export_training_default_ratio_mask]   s    xx{{{$$oSz % 
 IIOOAq!$++BJJ7JJsOHHTNq1$?!9F5		
r   c                  z   [         R                  " S5      n [        R                  R	                  S/ SQS/U S9n[         R
                  R                  SSS5      R                  [         R                  5      n[         R                  " S	5      n[         R                  " S
5      n[        X#US9n[        XX4/U/SS9  g )Nr   r   rD   r   r    r#   r$   r%         ?TrG   test_training_dropoutr'   rI   rK   s         r   export_trainingDropout.export_trainingo   s    xx{{{$$ou4 % 
 IIOOAq!$++BJJ7JJtHHTNA*tIs9PQr   c                     [         R                  " S5      n [        R                  R	                  S/ SQSS/U S9n[         R
                  R                  SSS	5      R                  [         R                  5      n[         R                  " S
5      n[         R                  " S5      n[        X#USS9u  pV[        XX4/XV/SS9  g )Nr   r   rD   r   r:   r    r#   r$   r%   rU   TrO   test_training_dropout_maskr'   rI   rQ   s          r   export_training_ratio_mask"Dropout.export_training_ratio_mask|   s    xx{{{$$oSz % 
 IIOOAq!$++BJJ7JJtHHTNq1$?QQF9U	
r   c                  z   [         R                  " S5      n [        R                  R	                  S/ SQS/U S9n[         R
                  R                  SSS5      R                  [         R                  5      n[         R                  " S	5      n[         R                  " S
5      n[        X#US9n[        XX4/U/SS9  g )Nr   r   rD   r   r    r#   r$   r%           TrG    test_training_dropout_zero_ratior'   rI   rK   s         r   "export_training_default_zero_ratio*Dropout.export_training_default_zero_ratio   s    xx{{{$$ou4 % 
 IIOOAq!$++BJJ7JJsOHHTNA*QQC6X	
r   c                     [         R                  " S5      n [        R                  R	                  S/ SQSS/U S9n[         R
                  R                  SSS	5      R                  [         R                  5      n[         R                  " S
5      n[         R                  " S5      n[        X#USS9u  pV[        UX#U/XV/SS9  g )Nr   r   rD   r   r:   r    r#   r$   r%   r^   TrO   %test_training_dropout_zero_ratio_maskr'   rI   rQ   s          r   'export_training_default_zero_ratio_mask/Dropout.export_training_default_zero_ratio_mask   s    xx{{{$$oSz % 
 IIOOAq!$++BJJ7JJsOHHTNq1$?!9F8		
r   c            
          [         R                  R                  SS/S/S9n [        R                  " / SQ5      R                  [        R                  5      nUn[        U U/U/S[        R                  " SS5      /S	9  g )
Nr   r   r   )r!   r"   )r   r   test_dropout_default_old    r!   r"   r(   opset_imports)	r+   r   r,   r	   arrayr   r.   r   make_opsetidr/   r   r   s      r   export_default_oldDropout.export_default_old   sw    {{$$5E % 
 HHZ ''

33C+!..r267	
r   c            
         [         R                  R                  SS/S/SS9n [        R                  R                  SSS5      R                  [        R                  5      nUn[        U U/U/S	[        R                  " S
S5      /S9  g )Nr   r   r   g?)r!   r"   ratior#   r$   r%   test_dropout_random_oldri   rj   rk   )
r+   r   r,   r	   r   r-   r   r.   r   rn   ro   s      r   export_random_oldDropout.export_random_old   s    {{$$5E	 % 
 IIOOAq!$++BJJ73C*!..r267	
r    )returnN)__name__
__module____qualname____firstlineno__staticmethodr0   r7   r=   rA   rL   rR   rW   r[   r`   rd   rp   ru   __static_attributes__rw   r   r   r   r      s    K K 	T 	T S S 
 
 
 
 
 
" 
R 
R 
 
 
 
 
 
& 
 
" 
 
r   r   )rF   r   FF)
numpyr	   r+   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   rw   r   r   <module>r      s)   
    , .u
d u
r   