o
    wi                     @  sd   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
 er(d dlmZ G dd deZdS )	    )annotations)TYPE_CHECKINGN)Base)expect)Sequencec                   @  s   e Zd ZedddZdS )ExpandDynamicShapereturnNonec                  C  s  d d	d
} t jjdddgdgdd}g d}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g d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g d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 )!Nnodeonnx.helper.NodeProtoinput_shapeSequence[int]shape_shapeoutput_shaper   onnx.helper.GraphProtoc              	   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)nodesnameinputsoutputs)onnxhelper
make_graphmake_tensor_value_infoTensorProtoFLOATINT64)r
   r   r   r   graph r!   `/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/backend/test/case/model/expand.pyr      s    

	
z-ExpandDynamicShape.export.<locals>.make_graphr   r   r   r   test)r   )      r$   )dtyper%   r$   zbackend-test 	   )producer_nameopset_importstest_expand_shape_model1)r   r   r   test_expand_shape_model2)r%   r$   r%   test_expand_shape_model3)r%   r%   r$   r%   test_expand_shape_model4)
r
   r   r   r   r   r   r   r   r   r   )r   r   	make_nodenponesfloat32arrayint64r   make_model_gen_versionmake_opsetidr   )r   r
   r   xr   yr    modelr!   r!   r"   export   sP   
zExpandDynamicShape.exportN)r   r	   )__name__
__module____qualname__staticmethodr:   r!   r!   r!   r"   r      s    r   )
__future__r   typingr   numpyr0   r   onnx.backend.test.case.baser   onnx.backend.test.case.modelr   collections.abcr   r   r!   r!   r!   r"   <module>   s   