o
    soi                     @  sH   d dl mZ d dlZd dlZd dlmZ d dlmZ G dd deZ	dS )    )annotationsN)Base)expectc                   @  s`   e Zd ZedddZedddZedddZedd	d
ZedddZedddZ	dS )LpNormalizationreturnNonec                  C  s   t jjddgdgddd} tjg dg dgg d	g d
ggtjd}ttj|d ddd}|| }t| |g|gdd d S )Nr   xyr      inputsoutputsaxispg      ?       @r         @      @        r         @r         @       @r   dtypeTr   keepdimstest_l2normalization_axis_0r   r   name	onnxhelper	make_nodenparrayfloat32sqrtsumr   )noder   l2_norm_axis_0r	    r-   _/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/lpnormalization.pyexport_l2normalization_axis_0   s   z-LpNormalization.export_l2normalization_axis_0c                  C  sp   t jjddgdgddd} tjddgd	d
ggtjd}ttj|d ddd}|| }t| |g|gdd d S )Nr   r   r	      r
   r   r   r   r   r   r   Tr   test_l2normalization_axis_1r    r"   )r+   r   l2_norm_axis_1r	   r-   r-   r.   export_l2normalization_axis_1   s   z-LpNormalization.export_l2normalization_axis_1c                  C  sb   t jjddgdgddd} tjddgtjd	}tjt|dd
d}|| }t| |g|gdd d S )Nr   r   r	   r   r0   r   r   r   r   Tr   test_l1normalization_axis_0r    	r#   r$   r%   r&   r'   r(   r*   absr   )r+   r   l1_norm_axis_0r	   r-   r-   r.   export_l1normalization_axis_0%   s   z-LpNormalization.export_l1normalization_axis_0c                  C  sj   t jjddgdgddd} tjddgdd	ggtjd
}tjt|ddd}|| }t| |g|gdd d S )Nr   r   r	   r0   r   r   r   r   r   r   Tr   test_l1normalization_axis_1r    r5   )r+   r   l1_norm_axis_1r	   r-   r-   r.   export_l1normalization_axis_1/   s   z-LpNormalization.export_l1normalization_axis_1c                  C  sz   t jjddgdgddd} tjg dg dgg d	g d
ggtjd}tjt|ddd}|| }t| |g|gdd d S )Nr   r   r	   r0   r   r   r   r   r   r   Tr   test_l1normalization_axis_lastr    r5   )r+   r   l1_norm_axis_lastr	   r-   r-   r.    export_l1normalization_axis_last9   s   z0LpNormalization.export_l1normalization_axis_lastc                  C  s|   t jjddgdgd} tjg dg dgg dg dggtjd	}ttj|d
 ddd}|| }t| |g|gdd d S )Nr   r   r	   )r   r   r   r   r   r   r   r
   r<   Tr   test_lpnormalization_defaultr    r"   )r+   r   lp_norm_defaultr	   r-   r-   r.   export_defaultF   s   zLpNormalization.export_defaultN)r   r   )
__name__
__module____qualname__staticmethodr/   r3   r8   r;   r?   rB   r-   r-   r-   r.   r      s    			r   )

__future__r   numpyr&   r#   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r-   r-   r-   r.   <module>   s   