U
    rh                     @  sT   d dl mZ 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 )    )annotations)SequenceN)Base)expectc                   @  s   e Zd ZeddddZdS )ExpandDynamicShapeNone)returnc                  C  s  dddddddd} t jjddd	gd
gdd}dddg}tj|tjd}tjddgtjd}|tj|tjd }| |||j|j}t jj	|dt j
ddgd}t|||g|gdd tjddgtjd}|tj|tjd }| |||j|j}t jj	|dt j
ddgd}t|||g|gdd tjdddgtjd}|tj|tjd }| |||j|j}t jj	|dt j
ddgd}t|||g|gdd tjddddgtjd}|tj|tjd }| |||j|j}t jj	|dt j
ddgd}t|||g|gdd d S )Nzonnx.helper.NodeProtozSequence[int]zonnx.helper.GraphProto)nodeinput_shapeshape_shapeoutput_shaper   c              	   S  sP   t jj| gdt jdt jj|t jdt jj|gt jdt jj|gd}|S )NExpandXshapeY)Znodesnameinputsoutputs)onnxhelper
make_graphZmake_tensor_value_infoZTensorProtoFLOATZINT64)r	   r
   r   r   graph r   G/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/model/expand.pyr      s,        	  z-ExpandDynamicShape.export.<locals>.make_graphr   r   r   r   test)r         )Zdtypezbackend-test 	   )Zproducer_nameZopset_importsZtest_expand_shape_model1)r   r   r   Ztest_expand_shape_model2Ztest_expand_shape_model3Ztest_expand_shape_model4)r   r   Z	make_nodenpZonesZfloat32arrayZint64r   Zmake_model_gen_versionZmake_opsetidr   )r   r	   r
   xr   yr   modelr   r   r   export   sP    
zExpandDynamicShape.exportN)__name__
__module____qualname__staticmethodr%   r   r   r   r   r      s   r   )
__future__r   typingr   Znumpyr    r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.modelr   r   r   r   r   r   <module>   s   