o
    soi                     @  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  sL   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    r    W/home/ubuntu/.local/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   ygraphmodelr    r    r!   export   sP   
zExpandDynamicShape.exportN)r   r	   )__name__
__module____qualname__staticmethodr:   r    r    r    r!   r      s    r   )
__future__r   typingr   numpyr/   r   onnx.backend.test.case.baser   onnx.backend.test.case.modelr   collections.abcr   r   r    r    r    r!   <module>   s   