
    /j	                    N    d dl mZ d dlZd dlmZ d dlmZ  G d de          ZdS )    )annotationsN)OpRun)_conv_implementationc                  $    e Zd Z	 	 	 	 	 	 	 ddZdS )QLinearConvNc                   |
p| j         }
|p| j        }|p| j        }|p| j        }|p| j        }|p| j        }|                    t          j                  }|||z  }|                    t          j                  }|{t          |j
                  dk    r^|j
        d         |j
        d         k    rB|j
        d         fdt          |j
                  dz
  z  z   }||                    |          z  }n||z  }t          |||	|
|||||	  	                            t          j                  }t          j        |          dk    rt          j        |          dk    r%t          dt          j
        |           d          t          j        |          t          j
        |          d         k    r?t          dt          j        |           dt          j
        |          d                    t          j        |d          }|||z  |z  z  }|t||z  }|j        t          j        k    rt          j        |d	d
          }nt          j        |dd          }t          j        |                              |j                  fS |j        t          j        k    rt          j        |d	d
          }nt          j        |dd          }t          j        |                              |j                  fS )N   r   )r	   z4w_scale must be a scalar or a 1-D tensor. Got shape .z-w_scale elements must match output channels: z != )r         i      )auto_pad	dilationsgroupkernel_shapepadsstridesastypenpint32lenshapereshaper   sizendim
ValueErrorexpand_dimsdtypeint8clipround)selfxx_scalex_zero_pointww_scalew_zero_pointy_scaley_zero_pointBr   r   r   r   r   r   XWmissingresRs                        g/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/reference/ops/op_qlinear_conv.py_runzQLinearConv._run   s   $ ,t}/	##8t'8 ty)T\HHRX#AHHRX#<%&&!++0B10EQR0S0S'-a02TS\\A=M5NN\))'222\!"q!Xy%tW
 

&

 	 77aww1$$ _28T[K\K\___   ww28A;;q>11 jBGGDTDTjjZ\ZbcdZeZefgZhjj   nWi88G7W$w./#A!RW,,GAtS))GAq#&&HQKK&&|'9::<<7bg4%%AA1c""A""17++--    )NNNNNNN)__name__
__module____qualname__r3    r4   r2   r   r      sE         !A. A. A. A. A. A.r4   r   )	
__future__r   numpyr   onnx.reference.op_runr   onnx.reference.ops.op_convr   r   r8   r4   r2   <module>r=      s    # " " " " "     ' ' ' ' ' ' ; ; ; ; ; ;B. B. B. B. B.% B. B. B. B. B.r4   