
    Si                    d    S SK Jr  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)
    )annotationsN)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          b/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/dropout.pydropoutr      s    1 6$bggaggT222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   c                     [         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   r0   r4   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   r0   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   r4   r    r;   r!   r5   r$   r%   r&   Tr<   test_dropout_default_mask_ratior(   r7   )r   r0   r4   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   r4   tr    r!   r$   r%   r&         ?Tr   test_training_dropout_defaultr(   r
   r+   r,   r   r-   r   r.   r   r/   bool_r   r   r   r0   r   r4   rF   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   rE   r    r;   r!   r$   r%   r&   rG   Tr   r   "test_training_dropout_default_maskr(   rJ   r   r0   r   r4   rF   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   rE   r    r!   r$   r%   r&         ?TrH   test_training_dropoutr(   rJ   rL   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   rE   r    r;   r!   r$   r%   r&   rV   TrP   test_training_dropout_maskr(   rJ   rR   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   rE   r    r!   r$   r%   r&           TrH    test_training_dropout_zero_ratior(   rJ   rL   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   rE   r    r;   r!   r$   r%   r&   r_   TrP   %test_training_dropout_zero_ratio_maskr(   rJ   rR   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r0   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_oldrj   rk   rl   )
r,   r   r-   r
   r   r.   r   r/   r   ro   rp   s      r   export_random_oldDropout.export_random_old   s    {{$$5E	 % 
 IIOOAq!$++BJJ73C*!..r267	
r    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodr1   r8   r>   rB   rM   rS   rX   r\   ra   re   rq   rv   __static_attributes__rx   r   r   r   r      s    K K 	T 	T S S 
 
 
 
 
 
" 
R 
R 
 
 
 
 
 
& 
 
" 
 
r   r   )rG   r   FF)
__future__r   numpyr
   r,   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   rx   r   r   <module>r      s,    #    , .u
d u
r   