§
    1�Åj–  ã                  ój   — d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 dd„Z
 G d	„ d
e¦  «        ZdS )é    )ÚannotationsN)Úhelper)ÚBase)Úexpectç      à?Fc                ó`  — |dk    s|du r(|du r"| t          j        | j        t          ¬¦  «        fS | S t           j                             |¦  «         t           j                             dd| j        ¦  «        |k    }dd|z
  z  }|r"|| z  |z  |                     t          ¦  «        fS || z  |z  S )Nr   FT)Údtypeg      ð?é   )ÚnpÚonesÚshapeÚboolÚrandomÚseedÚuniformÚastype)ÚXÚdrop_probabilityr   Útraining_modeÚreturn_maskÚmaskÚscales          úTC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/dropout.pyÚdropoutr      s¿   € Ø˜1ÒÐ °Ð 6Ð 6Ø˜$ÐÐØ•b”g˜aœg­TÐ2Ñ2Ô2Ð2Ð2Øˆå„I‡N‚N�4ÑÔÐÝŒ9×Ò˜Q  Q¤WÑ-Ô-Ð1AÒA€DØ�Ð%Ñ%Ñ&€EØð 3Ø�a‰x˜%Ñ §¢­TÑ!2Ô!2Ð2Ð2Ø�!‰8�eÑÐó    c                  ó.  — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd	„¦   «         Z
edd
„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚDropoutÚreturnÚNonec                 ó<  — t          j        d¦  «        } t          j                             ddgdg| ¬¦  «        }t           j                             ddd¦  «                             t           j        ¦  «        }t          |¦  «        }t          ||g|gd	¬
¦  «         d S )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_defaultzDropout.export_default   s†   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$ Y¸°uÀsÀeÐRVÐ$ÑWÔWˆåŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝ�A‰JŒJˆÝˆt˜Q˜C¨!¨Ð3IÐJÑJÔJÐJÐJÐJr   c                 ój  — t          j        d¦  «        } t          j                             dddgdg| ¬¦  «        }t          j        d¦  «        }t           j                             dd	d
¦  «                             t           j        ¦  «        }t          ||¦  «        }t          |||g|gd¬¦  «         d S )Nr   r   r!   Úrr"   r#   çš™™™™™¹?r&   r'   r(   Útest_dropout_default_ratior*   ©r   r-   r.   r   r/   r1   r   r0   r   r   r   )r   r2   r5   r!   r"   s        r   Úexport_default_ratiozDropout.export_default_ratio'   s¡   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜s C˜j°3°%¸dð %ñ 
ô 
ˆõ ŒJ�s‰OŒOˆÝŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝ�A�q‰MŒMˆÝˆt˜Q ˜F¨Q¨CÐ6RÐSÑSÔSÐSÐSÐSr   c                 óJ  — t          j        d¦  «        } t          j                             ddgddg| ¬¦  «        }t           j                             ddd	¦  «                             t           j        ¦  «        }t          |d
¬¦  «        \  }}t          ||g||gd¬¦  «         d S )Nr   r   r!   r"   Úzr#   r&   r'   r(   T©r   Útest_dropout_default_maskr*   r,   )r   r2   r!   r"   r;   s        r   Úexport_default_maskzDropout.export_default_mask3   s�   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜s˜e¨c°3¨Z¸dð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝ�q dÐ+Ñ+Ô+‰ˆˆ1Ýˆt˜Q˜C¨!¨Q¨Ð6QÐRÑRÔRÐRÐRÐRr   c                 óx  — t          j        d¦  «        } t          j                             dddgddg| ¬¦  «        }t          j        d¦  «        }t           j                             d	d
d¦  «                             t           j        ¦  «        }t          ||d¬¦  «        \  }}t          |||g||gd¬¦  «         d S )Nr   r   r!   r5   r"   r;   r#   r6   r&   r'   r(   Tr<   Útest_dropout_default_mask_ratior*   r8   )r   r2   r5   r!   r"   r;   s         r   Úexport_default_mask_ratioz!Dropout.export_default_mask_ratio>   s½   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜s C˜j°3¸°*À4ð %ñ 
ô 
ˆõ ŒJ�s‰OŒOˆÝŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝ�q˜!¨Ð.Ñ.Ô.‰ˆˆ1ÝØ˜!˜Q˜¨!¨Q¨Ð6Wð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó˜  — t          j        d¦  «        } t          j                             dg d¢dg| ¬¦  «        }t           j                             ddd¦  «                             t           j        ¦  «        }t          j        d	¦  «        }t          j	        d
¦  «        }t          |||¬¦  «        }t          ||||g|gd¬¦  «         d S )Nr   r   ©r!   r5   Útr"   r#   r&   r'   r(   r   T©r   Útest_training_dropout_defaultr*   ©r   r-   r.   r   r/   r   r0   r   r1   Úbool_r   r   ©r   r2   r!   r5   rD   r"   s         r   Úexport_training_defaultzDropout.export_training_defaultN   sÄ   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸°uÀ4ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�s‰OŒOˆÝŒH�T‰NŒNˆÝ�A�q¨Ð*Ñ*Ô*ˆÝØ˜!˜Q ˜¨Q¨CÐ6Uð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó¤  — t          j        d¦  «        } t          j                             dg d¢ddg| ¬¦  «        }t           j                             ddd	¦  «                             t           j        ¦  «        }t          j        d
¦  «        }t          j	        d¦  «        }t          |||d¬¦  «        \  }}t          ||||g||gd¬¦  «         d S )Nr   r   rC   r"   r;   r#   r&   r'   r(   r   T©r   r   Ú"test_training_dropout_default_maskr*   rG   ©r   r2   r!   r5   rD   r"   r;   s          r   Ú"export_training_default_ratio_maskz*Dropout.export_training_default_ratio_mask]   sÐ   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸¸S°zÈð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�s‰OŒOˆÝŒH�T‰NŒNˆÝ�q˜!¨1¸$Ð?Ñ?Ô?‰ˆˆ1ÝØØ�q˜!�9Ø˜�FØ5ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó˜  — t          j        d¦  «        } t          j                             dg d¢dg| ¬¦  «        }t           j                             ddd¦  «                             t           j        ¦  «        }t          j        d	¦  «        }t          j	        d
¦  «        }t          |||¬¦  «        }t          ||||g|gd¬¦  «         d S )Nr   r   rC   r"   r#   r&   r'   r(   ç      è?TrE   Útest_training_dropoutr*   rG   rI   s         r   Úexport_trainingzDropout.export_trainingo   s¹   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸°uÀ4ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�tÑÔˆÝŒH�T‰NŒNˆÝ�A�q¨Ð*Ñ*Ô*ˆÝˆt˜Q  1˜I°¨sÐ9PÐQÑQÔQÐQÐQÐQr   c                 ó¤  — t          j        d¦  «        } t          j                             dg d¢ddg| ¬¦  «        }t           j                             ddd	¦  «                             t           j        ¦  «        }t          j        d
¦  «        }t          j	        d¦  «        }t          |||d¬¦  «        \  }}t          ||||g||gd¬¦  «         d S )Nr   r   rC   r"   r;   r#   r&   r'   r(   rQ   TrL   Útest_training_dropout_maskr*   rG   rN   s          r   Úexport_training_ratio_maskz"Dropout.export_training_ratio_mask|   sÐ   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸¸S°zÈð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�tÑÔˆÝŒH�T‰NŒNˆÝ�q˜!¨1¸$Ð?Ñ?Ô?‰ˆˆ1ÝØ˜!˜Q ˜¨Q°¨FÐ9Uð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó˜  — t          j        d¦  «        } t          j                             dg d¢dg| ¬¦  «        }t           j                             ddd¦  «                             t           j        ¦  «        }t          j        d	¦  «        }t          j	        d
¦  «        }t          |||¬¦  «        }t          ||||g|gd¬¦  «         d S )Nr   r   rC   r"   r#   r&   r'   r(   ç        TrE   Ú test_training_dropout_zero_ratior*   rG   rI   s         r   Ú"export_training_default_zero_ratioz*Dropout.export_training_default_zero_ratio‹   sÄ   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸°uÀ4ð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�s‰OŒOˆÝŒH�T‰NŒNˆÝ�A�q¨Ð*Ñ*Ô*ˆÝØ˜!˜Q ˜¨Q¨CÐ6Xð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó¤  — t          j        d¦  «        } t          j                             dg d¢ddg| ¬¦  «        }t           j                             ddd	¦  «                             t           j        ¦  «        }t          j        d
¦  «        }t          j	        d¦  «        }t          |||d¬¦  «        \  }}t          ||||g||gd¬¦  «         d S )Nr   r   rC   r"   r;   r#   r&   r'   r(   rX   TrL   Ú%test_training_dropout_zero_ratio_maskr*   rG   rN   s          r   Ú'export_training_default_zero_ratio_maskz/Dropout.export_training_default_zero_ratio_maskš   sÐ   € åŒx˜‰{Œ{ˆÝŒ{×$Ò$Ø˜o˜o˜o¸¸S°zÈð %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆÝŒJ�s‰OŒOˆÝŒH�T‰NŒNˆÝ�q˜!¨1¸$Ð?Ñ?Ô?‰ˆˆ1ÝØØ�q˜!�9Ø˜�FØ8ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c            
     ó  — t           j                             ddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }|}t          | |g|gdt          j        dd¦  «        g¬	¦  «         d S )
Nr   r!   r"   )r$   r%   )éÿÿÿÿr   r
   Útest_dropout_default_oldÚ é   ©r$   r%   r+   Úopset_imports)	r.   r   r/   r   Úarrayr   r1   r   Úmake_opsetid©r2   r!   r"   s      r   Úexport_default_oldzDropout.export_default_old®   s™   € åŒ{×$Ò$ØØ�5Ø�Eð %ñ 
ô 
ˆõ ŒH�Z�Z�ZÑ Ô ×'Ò'­¬
Ñ3Ô3ˆØˆÝØØ�3Ø�CØ+Ý!Ô.¨r°2Ñ6Ô6Ð7ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c            
     ó$  — t           j                             ddgdgd¬¦  «        } t          j                             ddd¦  «                             t          j        ¦  «        }|}t          | |g|gd	t          j	        d
d¦  «        g¬¦  «         d S )Nr   r!   r"   gš™™™™™É?)r$   r%   Úratior&   r'   r(   Útest_dropout_random_oldra   rb   rc   )
r.   r   r/   r   r   r0   r   r1   r   rf   rg   s      r   Úexport_random_oldzDropout.export_random_oldÀ   s    € åŒ{×$Ò$ØØ�5Ø�EØð	 %ñ 
ô 
ˆõ ŒI�OŠO˜A˜q !Ñ$Ô$×+Ò+­B¬JÑ7Ô7ˆØˆÝØØ�3Ø�CØ*Ý!Ô.¨r°2Ñ6Ô6Ð7ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr3   r9   r>   rA   rJ   rO   rS   rV   rZ   r]   rh   rl   © r   r   r   r      s¢  € € € € € àðKð Kð Kñ „\ðKð ð	Tð 	Tð 	Tñ „\ð	Tð ðSð Sð Sñ „\ðSð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð" ð
Rð 
Rð 
Rñ „\ð
Rð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð& ð
ð 
ð 
ñ „\ð
ð" ð
ð 
ð 
ñ „\ð
ð 
ð 
r   r   )r   r   FF)Ú
__future__r   Únumpyr   r.   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   rq   r   r   ú<module>rv      s¶   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ðu
ð u
ð u
ð u
ð u
ˆdñ u
ô u
ð u
ð u
ð u
r   