U
    rhc
                     @  s\   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ddd	d
Z	G dd deZ
dS )    )annotationsN)Base)expectz
np.ndarrayint)xaxisreturnc                 C  s8   t j| |d}t | }t j|t j||dd|d |S )Nr      )npZargmaxZ
zeros_likeZput_along_axisZexpand_dims)r   r   Zx_argmaxy r   G/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/hardmax.pyhardmax   s    
r   c                   @  s0   e Zd ZeddddZeddddZdS )HardmaxNone)r	   c               	   C  s   t jjddgdgd} tddddgdd	ddgddddgddddggtj}t|}t| |g|gd
d tddddggtj}t|}t| |g|gdd d S )Nr   r   r   inputsoutputs   r   r         Ztest_hardmax_exampler   r   nameZtest_hardmax_one_hot)	onnxhelper	make_noder   arrayastypefloat32r   r   )noder   r   r   r   r   export   s    2zHardmax.exportc                  C  s&  t jdddt j} tjjddgdgdd}t| dd	}t	|| g|gd
d tjjddgdgdd}t| dd	}t	|| g|gdd tjjddgdgdd}t| dd	}t	|| g|gdd tjjddgdgdd}t| dd	}t	|| g|gdd tjjddgdgd}t	|| g|gdd d S )Nr      r   r   r   r   r   )r   r   r   r
   Ztest_hardmax_axis_0r   r   Ztest_hardmax_axis_1r   Ztest_hardmax_axis_2r   Ztest_hardmax_negative_axisr   Ztest_hardmax_default_axis)
r   randomZrandnr   r    r   r   r   r   r   )r   r!   r   r   r   r   export_hardmax_axis/   sN    zHardmax.export_hardmax_axisN)__name__
__module____qualname__staticmethodr"   r%   r   r   r   r   r      s   r   )r   )
__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s   