§
    1�Åj¨!  ã                  ól   — 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d„Z		 ddd„Z
 G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚBase)Úexpecté   Údataú
np.ndarrayÚaxisÚintÚkeepdimsÚreturnc                ó¢   — t          j        | |¬¦  «        }|dk    rt          j        ||¦  «        }|                     t           j        ¦  «        S ©N)r	   r   )ÚnpÚargmaxÚexpand_dimsÚastypeÚint64©r   r	   r   Úresults       úSC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/argmax.pyÚargmax_use_numpyr      sD   € ÝŒY�t $Ð'Ñ'Ô'€FØ�1‚}€}Ý” ¨Ñ-Ô-ˆØ�=Š=�œÑ"Ô"Ð"ó    Tc                óê   — t          j        | |¦  «        } t          j        | |¬¦  «        }| j        |         |z
  dz
  }|rt          j        ||¦  «        }|                     t           j        ¦  «        S r   )r   Úflipr   Úshaper   r   r   r   s       r   Ú"argmax_use_numpy_select_last_indexr      sl   € õ Œ7�4˜ÑÔ€DÝŒY�t $Ð'Ñ'Ô'€FØŒZ˜Ô Ñ&¨Ñ*€FØð .Ý” ¨Ñ-Ô-ˆØ�=Š=�œÑ"Ô"Ð"r   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dS )ÚArgMaxr   ÚNonec                 óÂ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgd	g||¬
¦  «        }t          | ||¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬¦  «        }t          || g|gd¬¦  «         d S )Né   é   é
   ©Údtyper   r   r   r   r   ©ÚinputsÚoutputsr	   r   ©r	   r   Útest_argmax_no_keepdims_example©r'   r(   Únameéöÿÿÿ©r!   r"   é   Útest_argmax_no_keepdims_random©r   ÚarrayÚfloat32ÚonnxÚhelperÚ	make_noder   r   ÚrandomÚuniformr   ©r   r	   r   Únoder   s        r   Úexport_no_keepdimszArgMax.export_no_keepdims    s	  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$Ø˜f˜X°¨zÀÈxð %ñ 
ô 
ˆõ " $¨T¸HÐEÑEÔEˆÝØØ�6Ø�HØ2ð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå! $¨T¸HÐEÑEÔEˆÝØ˜$˜¨&¨Ð8Xð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óÂ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgdg||¬	¦  «        }t          | ||¬
¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬
¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   r   r   r   r   r&   r)   Útest_argmax_keepdims_exampler+   r-   r.   Útest_argmax_keepdims_randomr1   r9   s        r   Úexport_keepdimszArgMax.export_keepdims8   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$Ø˜f˜X°¨zÀÈxð %ñ 
ô 
ˆõ " $¨T¸HÐEÑEÔEˆÝØ˜$˜¨&¨Ð8Vð	
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå! $¨T¸HÐEÑEÔEˆÝØ˜$˜¨&¨Ð8Uð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó¸  — t          j        ddgddggt           j        ¬¦  «        } d}t          j                             ddgdg|¬	¦  «        }t          | |¬
¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | |¬
¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   r   r   r   r   )r'   r(   r   ©r   Ú test_argmax_default_axis_exampler+   r-   r.   Útest_argmax_default_axis_randomr1   ©r   r   r:   r   s       r   Úexport_default_axes_keepdimsz#ArgMax.export_default_axes_keepdimsM   s   € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆÝŒ{×$Ò$Ø˜f˜X°¨zÀHð %ñ 
ô 
ˆõ
 " $°Ð:Ñ:Ô:ˆÝØØ�6Ø�HØ3ð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå! $°Ð:Ñ:Ô:ˆÝØØ�6Ø�HØ2ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óÂ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgd	g||¬
¦  «        }t          | ||¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   éÿÿÿÿr   r   r   r   r&   r)   Ú*test_argmax_negative_axis_keepdims_exampler+   r-   r.   Ú)test_argmax_negative_axis_keepdims_randomr1   r9   s        r   Úexport_negative_axis_keepdimsz$ArgMax.export_negative_axis_keepdimsh   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$Ø˜f˜X°¨zÀÈxð %ñ 
ô 
ˆõ " $¨T¸HÐEÑEÔEˆÝØØ�6Ø�HØ=ð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå! $¨T¸HÐEÑEÔEˆÝØØ�6Ø�HØ<ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óÄ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgd	g||d
¬¦  «        }t          | ||¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   r   r   r   r   r   T©r'   r(   r	   r   Úselect_last_indexr)   Ú1test_argmax_no_keepdims_example_select_last_indexr+   r-   r.   Ú0test_argmax_no_keepdims_random_select_last_index©r   r2   r3   r4   r5   r6   r   r   r7   r8   r   r9   s        r   Ú$export_no_keepdims_select_last_indexz+ArgMax.export_no_keepdims_select_last_indexƒ   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$ØØ�8Ø�JØØØ"ð %ñ 
ô 
ˆõ 4°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØDð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå3°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØCð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óÄ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgdg||d	¬
¦  «        }t          | ||¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   r   r   r   r   TrL   r)   Ú.test_argmax_keepdims_example_select_last_indexr+   r-   r.   Ú-test_argmax_keepdims_random_select_last_indexrP   r9   s        r   Ú!export_keepdims_select_last_indexz(ArgMax.export_keepdims_select_last_index£   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$ØØ�8Ø�JØØØ"ð %ñ 
ô 
ˆõ 4°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØAð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå3°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØ@ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óº  — t          j        ddgddggt           j        ¬¦  «        } d}t          j                             ddgdg|d	¬
¦  «        }t          | |¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | |¬¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   r   r   r   r   T)r'   r(   r   rM   rA   Ú2test_argmax_default_axis_example_select_last_indexr+   r-   r.   Ú1test_argmax_default_axis_random_select_last_indexrP   rD   s       r   Ú.export_default_axes_keepdims_select_last_indexz5ArgMax.export_default_axes_keepdims_select_last_indexÃ   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆÝŒ{×$Ò$ØØ�8Ø�JØØ"ð %ñ 
ô 
ˆõ 4°DÀ8ÐLÑLÔLˆÝØØ�6Ø�HØEð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå3°DÀ8ÐLÑLÔLˆÝØØ�6Ø�HØDð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 óÄ  — t          j        ddgddggt           j        ¬¦  «        } d}d}t          j                             ddgd	g||d
¬¦  «        }t          | ||¬¦  «        }t          || g|gd¬¦  «         t           j         	                    ddg d¢¦  «         
                    t           j        ¦  «        } t          | ||¬¦  «        }t          || g|gd¬¦  «         d S )Nr!   r"   r#   r$   rG   r   r   r   r   TrL   r)   Ú<test_argmax_negative_axis_keepdims_example_select_last_indexr+   r-   r.   Ú;test_argmax_negative_axis_keepdims_random_select_last_indexrP   r9   s        r   Ú/export_negative_axis_keepdims_select_last_indexz6ArgMax.export_negative_axis_keepdims_select_last_indexâ   s  € åŒx˜!˜Q˜ ! R Ð)µ´Ð<Ñ<Ô<ˆØˆØˆÝŒ{×$Ò$ØØ�8Ø�JØØØ"ð %ñ 
ô 
ˆõ 4°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØOð		
ñ 	
ô 	
ð 	
õ Œy× Ò   b¨)¨)¨)Ñ4Ô4×;Ò;½B¼JÑGÔGˆå3°D¸tÈhÐWÑWÔWˆÝØØ�6Ø�HØNð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr;   r?   rE   rJ   rQ   rU   rY   r]   © r   r   r   r      s  € € € € € Øð
ð 
ð 
ñ „\ð
ð. ð
ð 
ð 
ñ „\ð
ð( ð
ð 
ð 
ñ „\ð
ð4 ð
ð 
ð 
ñ „\ð
ð4 ð
ð 
ð 
ñ „\ð
ð> ð
ð 
ð 
ñ „\ð
ð> ð
ð 
ð 
ñ „\ð
ð< ð
ð 
ð 
ñ „\ð
ð 
ð 
r   r   )r   r   )r   r   r	   r
   r   r
   r   r   )r   T)Ú
__future__r   Únumpyr   r4   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   r   rb   r   r   ú<module>rg      sÇ   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð#ð #ð #ð #ð #ð 6:ð#ð #ð #ð #ð #ða
ð a
ð a
ð a
ð a
ˆTñ a
ô a
ð a
ð a
ð a
r   