o
    wi|                     @  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                   @  sR   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dS )ReduceL2returnNonec                  C  s   g d} t jdgt jd}d}tjjdddgdg|d	}t t jd
t | d
 t j	d| }t 
t jt |t||d
kd}t|||g|gdd t jd t jdd| t j	}t 
t jt |t||d
kd}t|||g|gdd d S )N      r
   r
   dtyper   r   dataaxesreducedinputsoutputskeepdims   aaxisr   &test_reduce_l2_do_not_keepdims_exampler   r   name
   %test_reduce_l2_do_not_keepdims_randomnparrayint64onnxhelper	make_nodereshapearangeprodfloat32sqrtsumsquaretupler   randomseeduniformastypeshaper   r   noder   r    r4   a/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/backend/test/case/node/reducel2.pyexport_do_not_keepdims   <   $
zReduceL2.export_do_not_keepdimsc                  C     g d} t jdgt jd}d}tjjdddgdg|d	}t t jdt | d t j	d| }t 
t jt |t||dkd
}t|||g|gdd t jd t jdd| t j	}t 
t jt |t||dkd
}t|||g|gdd d S )Nr   r
   r   r   r   r   r   r   r   r    test_reduce_l2_keep_dims_exampler   r   r   r   test_reduce_l2_keep_dims_randomr   r1   r4   r4   r5   export_keepdims;   r7   zReduceL2.export_keepdimsc                  C  s   g d} t jg t jd}d}tjjdddgdg|d}t t jdt | d t j	d| }t 
t jt |d |dkd	}t|||g|gd
d t jd t jdd| t j	}t 
t jt |d |dkd	}t|||g|gdd d S )Nr   r   r   r   r   r   r   r   r   ,test_reduce_l2_default_axes_keepdims_exampler   r   r   r   +test_reduce_l2_default_axes_keepdims_random)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r   r-   r.   r/   r0   r1   r4   r4   r5   export_default_axes_keepdimsh   s.   $  
z%ReduceL2.export_default_axes_keepdimsc                  C  r8   )Nr   r   r   r   r   r   r   r   r   .test_reduce_l2_negative_axes_keep_dims_exampler   r   r   r   -test_reduce_l2_negative_axes_keep_dims_randomr   r1   r4   r4   r5   export_negative_axes_keepdims   r7   z&ReduceL2.export_negative_axes_keepdimsc                  C  s   g d} d}g d}t jjdddgdg|d}tjg tjd	| }tjdgtjd	}ttj|tjd	}t	|||g|gd
d d S )N)r
   r      r   )r
   r   rC   r   r   r   r   r   r   test_reduce_l2_empty_setr   )
r"   r#   r$   r   r    r(   r%   r!   zerosr   )r2   r   reduced_shaper3   r   r   r   r4   r4   r5   export_empty_set   s$   
zReduceL2.export_empty_setN)r   r   )	__name__
__module____qualname__staticmethodr6   r;   r>   rB   rG   r4   r4   r4   r5   r      s    ,,#,r   )

__future__r   numpyr   r"   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r4   r4   r4   r5   <module>   s   