§
    1�Åj?  ã                  ór   — 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e¦  «        ZdS )	é    )Úannotations)ÚTYPE_CHECKINGN)ÚBase)Úexpect)ÚSequencec                  ó&   — e Zd Zedd„¦   «         ZdS )ÚExpandDynamicShapeÚreturnÚNonec                 óB  — dd	„} t           j                             d
ddgdgd¬¦  «        }g d¢}t          j        |t          j        ¬¦  «        }t          j        ddgt          j        ¬¦  «        }|t          j        |t          j        ¬¦  «        z  } | |||j        |j        ¦  «        }t           j         	                    |dt           j         
                    dd¦  «        g¬¦  «        }t          |||g|gd¬¦  «         t          j        ddgt          j        ¬¦  «        }|t          j        |t          j        ¬¦  «        z  } | |||j        |j        ¦  «        }t           j         	                    |dt           j         
                    dd¦  «        g¬¦  «        }t          |||g|gd¬¦  «         t          j        g d¢t          j        ¬¦  «        }|t          j        |t          j        ¬¦  «        z  } | |||j        |j        ¦  «        }t           j         	                    |dt           j         
                    dd¦  «        g¬¦  «        }t          |||g|gd¬¦  «         t          j        g d¢t          j        ¬¦  «        }|t          j        |t          j        ¬¦  «        z  } | |||j        |j        ¦  «        }t           j         	                    |dt           j         
                    dd¦  «        g¬¦  «        }t          |||g|gd¬¦  «         d S ) NÚnodeúonnx.helper.NodeProtoÚinput_shapeúSequence[int]Úshape_shapeÚoutput_shaper
   úonnx.helper.GraphProtoc           
     ód  — t           j                             | gdt           j                             dt           j        j        |¦  «        t           j                             dt           j        j        |¦  «        gt           j                             dt           j        j        |¦  «        g¬¦  «        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   s       úTC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/model/expand.pyr   z-ExpandDynamicShape.export.<locals>.make_graph   sŸ   € õ ”;×)Ò)Ø�fØå”K×6Ò6Ø�TÔ-Ô3°[ñô õ ”K×6Ò6Ø¥Ô!1Ô!7¸ñô ð	õ ”K×6Ò6Ø�TÔ-Ô3°\ñô ðð *ñ ô ð ó    r   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Úmodels           r$   ÚexportzExpandDynamicShape.export   s	  € ð	ð 	ð 	ð 	õ0 Œ{×$Ò$ X°°W¨~À¸uÈ6Ð$ÑRÔRˆØ�i�iˆÝŒG�K¥r¤zÐ2Ñ2Ô2ˆõ ”˜!˜Q˜¥r¤xÐ0Ñ0Ô0ˆØ•”˜¥R¤ZÐ0Ñ0Ô0Ñ0ˆØ�
˜4 ¨e¬k¸1¼7ÑCÔCˆÝ”×2Ò2ØØ(Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð 3ñ 
ô 
ˆõ
 	ˆu˜a ˜Z°!°Ð;UÐVÑVÔVÐVõ ”˜!˜Q˜¥r¤xÐ0Ñ0Ô0ˆØ•”˜¥R¤ZÐ0Ñ0Ô0Ñ0ˆØ�
˜4 ¨e¬k¸1¼7ÑCÔCˆÝ”×2Ò2ØØ(Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð 3ñ 
ô 
ˆõ
 	ˆu˜a ˜Z°!°Ð;UÐVÑVÔVÐVõ ”˜˜˜­"¬(Ð3Ñ3Ô3ˆØ•”˜¥R¤ZÐ0Ñ0Ô0Ñ0ˆØ�
˜4 ¨e¬k¸1¼7ÑCÔCˆÝ”×2Ò2ØØ(Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð 3ñ 
ô 
ˆõ
 	ˆu˜a ˜Z°!°Ð;UÐVÑVÔVÐVõ ”˜˜˜­R¬XÐ6Ñ6Ô6ˆØ•”˜¥R¤ZÐ0Ñ0Ô0Ñ0ˆØ�
˜4 ¨e¬k¸1¼7ÑCÔCˆÝ”×2Ò2ØØ(Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð 3ñ 
ô 
ˆõ
 	ˆu˜a ˜Z°!°Ð;UÐVÑVÔVÐVÐVÐVr%   N)r
   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr>   © r%   r$   r	   r	      s>   € € € € € ØðGWð GWð GWñ „\ðGWð GWð GWr%   r	   )Ú
__future__r   Útypingr   Únumpyr3   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.modelr   Úcollections.abcr   r	   rC   r%   r$   ú<module>rJ      sÆ   ðð #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /àð )Ø(Ð(Ð(Ð(Ð(Ð(ðIWð IWð IWð IWð IW˜ñ IWô IWð IWð IWð IWr%   