o
    eI                     @   s(   d dl mZ dd ZG dd deZdS )   )OpSet12c                    s    fdd}|S )Nc               	      s@   | d }z
 | i |}W |S    t d|jdd  |j)Nr   z%convert failed node:{}, op_type is {}	   )	ExceptionformatnameZ
layer_type)argskwargsnoderesfunc VD:\Projects\ConvertPro\env\Lib\site-packages\x2paddle/op_mapper/onnx2paddle/opset13.pyrun_mapping   s   z'print_mapping_info.<locals>.run_mappingr   )r   r   r   r   r   print_mapping_info   s   
r   c                       s(   e Zd Z fddZedd Z  ZS )OpSet13c                    s   t t| || d S )N)superr   __init__)selfdecoderpaddle_graph	__class__r   r   r   !   s   zOpSet13.__init__c                 C   s   | j j|ddd}| j j|ddd}t|jd dkr?t|jd dkr?t|jd dkr?| jjdd|ji|jgdgd d S | jjd|j|jd	|jgd
 d S )N    T)idxcopyr   zpaddle.reshapex)inputsoutputsshapezpaddle.unsqueeze)r   Zaxis)r   r   )graphZget_input_nodelenZ
out_shapesr   Z	add_layerr   )r   r	   Zval_xZaxesr   r   r   	Unsqueeze$   s*   

zOpSet13.Unsqueeze)__name__
__module____qualname__r   r   r"   __classcell__r   r   r   r   r       s    r   N)Zopset12r   r   r   r   r   r   r   <module>   s   