U
    rh~
                     @  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  s6   t j| |dd}t | | }t j||dd}|| S )NT)r   Zkeepdims)npmaxexpsum)r   r   Zx_maxtmps r   G/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/softmax.pysoftmax   s    r   c                   @  s0   e Zd ZeddddZeddddZdS )SoftmaxNone)r	   c                  C  sT   t jjddgdgd} tdddggtj}t|dd}t| |g|gd	d
 d S )Nr   r   yinputsoutputsr   r      r   Ztest_softmax_exampler   r   name)	onnxhelper	make_noder
   arrayastypefloat32r   r   )noder   r   r   r   r   export   s    zSoftmax.exportc                  C  s  t ddddgddddggt j} t| }tjjd	d
gdgd}t|| g|gdd t 	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         i'  i'  i'  i'  r   r   r   r   Ztest_softmax_large_numberr         )r   r   r   r   Ztest_softmax_axis_0Ztest_softmax_axis_1Ztest_softmax_axis_2r   Ztest_softmax_negative_axisZtest_softmax_default_axis)r
   r    r!   r"   r   r   r   r   r   absrandomZrandn)r   r   r#   r   r   r   export_softmax_axis!   s^    &zSoftmax.export_softmax_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   