
     Ti                        S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJr   " S S	\5      r g
)    )annotations)OptionalTupleTypeVarUnion)
get_schema)	TypeAlias)Opset5)BOOL	COMPLEX64
COMPLEX128DOUBLEFLOATFLOAT16INT8INT16INT32INT64STRINGUINT8UINT16UINT32UINT64)OpOpsetc                     \ rS rSr% S r\" S\\\\	\
\\\\\\5      rS[S jr\" S\\\\
\\\5      rSSS.         S\S	 jjr\" S
\\\5      rSSSSS.                   S]S jjr\" S\\\\\	\
\\\\\\5      r\\\\\\	\
\\\\\\4   rS\S'   S^S jr\" S\\\5      rS_S jr\" S\\\5      rSSS.       S`S jjr \" S\\\\
\\\5      r!SSS.         SaS jjr"\" S\\\5      r#SSS.       SbS  jjr$\" S!\\\5      r%S"S#.ScS$ jjr&\" S%\\\5      r'SdS& jr(\" S'\\\5      r)SeS( jr*\" S)\\\5      r+S"S"SSSS*.                 SfS+ jjr,\" S,\\\5      r-S-SS..       SgS/ jjr.\" S0\\\5      r/SS1.         ShS2 jjr0\" S3\\\5      r1S4S#.SiS5 jjr2\" S6\\\5      r3SjS7 jr4\" S8\\\5      r5SkS9 jr6\" S:\\\5      r7SlS; jr8\" S<\\\5      r9SmS= jr:\" S>\\\\
\\\5      r;SSS.         SnS? jjr<\" S@\\\\	\
\\5      r=SoSA jr>\" SB\\\5      r?SpSC jr@\" SD\\\5      rASqSE jrB\" SF\\\5      rCSrSG jrD\" SH\\\5      rESISJSK.       SsSL jjrF\" SM\\\5      rGStSN jrH\" SO\\\5      rISuSP jrJ\" SQ\\\\
\\\5      rKSSS.         SvSR jjrL\" SS\\\5      rMSwST jrN\" SU\\\5      rOSxSV jrP\" SW\\Q\R\\\\	\
\\\S\\\\5      rT\rUS\SX'   SySY jrVSZrWg)zOpset6)   c                2    [         R                  " U SS5      $ )N    )r   __new__)clss    a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnxscript/onnx_opset/_impl/opset6.pyr"   Opset6.__new__*   s    }}S"a((    T_Absc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u  [🌐 Abs(6)](https://onnx.ai/onnx/operators/onnx__Abs.html#abs-6 "Online Documentation")


Absolute takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the absolute is, y = abs(x), is applied to
the tensor elementwise.


Args:
    X: Input tensor
Absr!   r    r   r   _prepare_inputsselfXschemaops       r$   r)   
Opset6.Abs<   6     E1b)eV$4''233r&   T_AddNr   axis	broadcastc               f    [        SSS5      n[        U SU5      nU" U R                  XQU5      X4S.6$ )u  [🌐 Add(6)](https://onnx.ai/onnx/operators/onnx__Add.html#add-6 "Online Documentation")


Performs element-wise binary addition (with limited broadcast support).

If necessary the right-hand-side argument will be broadcasted to match the
shape of left-hand-side argument. When broadcasting is specified, the second
tensor can either be of element size 1 (including a scalar tensor and any
tensor with rank equal to or smaller than the first tensor), or having its
shape as a contiguous subset of the first tensor's shape. The starting of the
mutually equal shape is specified by the argument "axis", and if it is not set,
suffix matching is assumed. 1-dim expansion doesn't work yet.

For example, the following tensor shapes are supported (with broadcast=1):

  shape(A) = (2, 3, 4, 5), shape(B) = (,), i.e. B is a scalar tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (1, 1), i.e. B is an 1-element tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (5,)
  shape(A) = (2, 3, 4, 5), shape(B) = (4, 5)
  shape(A) = (2, 3, 4, 5), shape(B) = (3, 4), with axis=1
  shape(A) = (2, 3, 4, 5), shape(B) = (2), with axis=0

Attribute `broadcast=1` needs to be passed to enable broadcasting.


Args:
    A: First operand, should share the type with the second operand.

    B: Second operand. With broadcasting can be of smaller size than A. If
        broadcasting is disabled it should be of the same size.

    axis: If set, defines the broadcast dimensions. See doc for details.

    broadcast: Pass 1 to enable broadcasting
Addr!   r    r4   r*   r-   ABr5   r6   r/   r0   s          r$   r8   
Opset6.AddO   ;    N E1b)eV$4''15DVVr&   T_BatchNormalizationg   >g   ?   epsilonis_testmomentumspatialc          
     n    [        SSS5      n
[        U SU
5      nU" U R                  XX#XE5      UUUU	S.6$ )u  [🌐 BatchNormalization(6)](https://onnx.ai/onnx/operators/onnx__BatchNormalization.html#batchnormalization-6 "Online Documentation")


Carries out batch normalization as described in the paper
https://arxiv.org/abs/1502.03167. Depending on the mode it is being run,
there are multiple cases for the number of outputs, which we list below:

Output case #1: Y, mean, var, saved_mean, saved_var (training mode)
Output case #2: Y (test mode)


Args:
    X: Input data tensor from the previous operator; dimensions for image case
        are (N x C x H x W), where N is the batch size, C is the number of
        channels, and H and W are the height and the width of the data. For non
        image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn),
        where N is the batch size.

    scale: The scale as a 1-dimensional tensor of size C to be applied to the
        output.

    B: The bias as a 1-dimensional tensor of size C to be applied to the output.

    mean: The running mean (training) or the estimated mean (testing) as a
        1-dimensional tensor of size C.

    var: The running variance (training) or the estimated variance (testing) as
        a 1-dimensional tensor of size C.

    epsilon: The epsilon value to use to avoid division by zero, default is
        1e-5f.

    is_test: If set to nonzero, run spatial batch normalization in test mode,
        default is 0.

    momentum: Factor used in computing the running mean and variance.e.g.,
        running_mean = running_mean * momentum + mean * (1 - momentum), default
        is 0.9f.

    spatial: If true, compute the mean and variance across all spatial elements
        If false, compute the mean and variance across per feature.Default is 1.
BatchNormalizationr!   r    r@   r*   )r-   r.   scaler;   meanvarrA   rB   rC   rD   r/   r0   s               r$   rF   Opset6.BatchNormalization|   sN    | 0!R8*F3!!&UtA
 	
r&   T1_Castr	   T2_Castc               d    [        SSS5      n[        U SU5      nU" U R                  X15      SU06$ )ux  [🌐 Cast(6)](https://onnx.ai/onnx/operators/onnx__Cast.html#cast-6 "Online Documentation")


The operator casts the elements of a given input tensor to a data type
specified by the 'to' argument and returns an output tensor of the same size in
the converted type. The 'to' argument must be one of the data types specified
in the 'DataType' enum field in the TensorProto message.
NOTE: Casting to and from strings is not supported yet.


Args:
    input: Input tensor to be cast.

    to: The data type to which the elements of the input tensor are cast.
        Strictly must be one of the types from DataType enum in TensorProto
Castr!   r    tor*   )r-   inputrO   r/   r0   s        r$   rN   Opset6.Cast   s;    $ FAr*ff%4''6>2>>r&   T_Ceilc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u  [🌐 Ceil(6)](https://onnx.ai/onnx/operators/onnx__Ceil.html#ceil-6 "Online Documentation")


Ceil takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the ceil is, y = ceil(x), is applied to
the tensor elementwise.


Args:
    X: Input tensor
Ceilr!   r    r*   r,   s       r$   rT   Opset6.Ceil   6     FAr*ff%4''233r&   T_Clipg   Gg   ǩmaxminc               d    [        SSS5      n[        U SU5      nU" U R                  XA5      X#S.6$ )u  [🌐 Clip(6)](https://onnx.ai/onnx/operators/onnx__Clip.html#clip-6 "Online Documentation")


Clip operator limits the given input within an interval. The interval is
specified with arguments 'min' and 'max'. They default to
numeric_limits::lowest() and numeric_limits::max() respectively.


Args:
    input: Input tensor whose elements to be clipped

    max: Maximum value, above which element is replaced by max

    min: Minimum value, under which element is replaced by min
Clipr!   r    rX   r*   )r-   rP   rY   rZ   r/   r0   s         r$   r\   Opset6.Clip  s8    . FAr*ff%4''6CIIr&   T_Divc               f    [        SSS5      n[        U SU5      nU" U R                  XQU5      X4S.6$ )u  [🌐 Div(6)](https://onnx.ai/onnx/operators/onnx__Div.html#div-6 "Online Documentation")


Performs element-wise binary division (with limited broadcast support).

If necessary the right-hand-side argument will be broadcasted to match the
shape of left-hand-side argument. When broadcasting is specified, the second
tensor can either be of element size 1 (including a scalar tensor and any
tensor with rank equal to or smaller than the first tensor), or having its
shape as a contiguous subset of the first tensor's shape. The starting of the
mutually equal shape is specified by the argument "axis", and if it is not set,
suffix matching is assumed. 1-dim expansion doesn't work yet.

For example, the following tensor shapes are supported (with broadcast=1):

  shape(A) = (2, 3, 4, 5), shape(B) = (,), i.e. B is a scalar tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (1, 1), i.e. B is an 1-element tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (5,)
  shape(A) = (2, 3, 4, 5), shape(B) = (4, 5)
  shape(A) = (2, 3, 4, 5), shape(B) = (3, 4), with axis=1
  shape(A) = (2, 3, 4, 5), shape(B) = (2), with axis=0

Attribute `broadcast=1` needs to be passed to enable broadcasting.


Args:
    A: First operand, should share the type with the second operand.

    B: Second operand. With broadcasting can be of smaller size than A. If
        broadcasting is disabled it should be of the same size.

    axis: If set, defines the broadcast dimensions. See doc for details.

    broadcast: Pass 1 to enable broadcasting
Divr!   r    r4   r*   r9   s          r$   r`   
Opset6.Div+  r=   r&   	T_Dropoutg      ?rB   ratioc               d    [        SSS5      n[        U SU5      nU" U R                  XA5      X#S.6$ )u  [🌐 Dropout(6)](https://onnx.ai/onnx/operators/onnx__Dropout.html#dropout-6 "Online Documentation")


Dropout takes one input data (Tensor<float>) and produces two Tensor outputs,
output (Tensor<float>) and mask (Tensor<bool>). Depending on whether it is in
test mode or not, the output Y will either be a random dropout, or a simple
copy of the input. Note that our implementation of Dropout does scaling in
the training phase, so during testing nothing needs to be done.


Args:
    data: The input data as Tensor.

    is_test: (int, default 0) if nonzero, run dropout in test mode where the
        output is simply Y = X.

    ratio: (float, default 0.5) the ratio of random dropout
Dropoutr!   r    rc   r*   )r-   datarB   rd   r/   r0   s         r$   rf   Opset6.DropoutX  s8    , Iq"-i(4''5wTTr&   T_Elug      ?)alphac               d    [        SSS5      n[        U SU5      nU" U R                  X15      SU06$ )us  [🌐 Elu(6)](https://onnx.ai/onnx/operators/onnx__Elu.html#elu-6 "Online Documentation")


Elu takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the function `f(x) = alpha * (exp(x) - 1.) for x <
0`, `f(x) = x for x >= 0`., is applied to the tensor elementwise.



Args:
    X: (differentiable) Input tensor

    alpha: Coefficient of ELU.
Elur!   r    rj   r*   r-   r.   rj   r/   r0   s        r$   rl   
Opset6.Elut  s;      E1b)eV$4''2@%@@r&   T_Expc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u   [🌐 Exp(6)](https://onnx.ai/onnx/operators/onnx__Exp.html#exp-6 "Online Documentation")


Calculates the exponential of the given input tensor, element-wise.


Args:
    input: Input tensor
Expr!   r    r*   r-   rP   r/   r0   s       r$   rq   
Opset6.Exp  6     E1b)eV$4''677r&   T_Floorc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u  [🌐 Floor(6)](https://onnx.ai/onnx/operators/onnx__Floor.html#floor-6 "Online Documentation")


Floor takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the floor is, y = floor(x), is applied to
the tensor elementwise.


Args:
    X: Input tensor
Floorr!   r    r*   r,   s       r$   rw   Opset6.Floor  s6     GQ+gv&4''233r&   T_Gemmrj   betar6   transAtransBc          	     n    [        SSS5      n	[        U SU	5      n
U
" U R                  XX#5      UUUUUS.6$ )u  [🌐 Gemm(6)](https://onnx.ai/onnx/operators/onnx__Gemm.html#gemm-6 "Online Documentation")

General Matrix multiplication:
https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
Compute Y = alpha * A * B + beta * C, where input tensor A has
dimension (M X K), input tensor B has dimension (K X N), input tensor C and
output tensor Y have dimension (M X N).
If attribute broadcast is non-zero, input tensor C will be broadcasted to match
the dimension requirement. A will be transposed before doing the computation
if attribute transA is non-zero, same for B and transB.


Args:
    A: Input tensor A

    B: Input tensor B

    C: Input tensor C

    alpha: Scalar multiplier for the product of input tensors A * B, the default
        value is 1.0.

    beta: Scalar multiplier for input tensor C, the default value is 1.0.

    broadcast: Whether C should be broadcasted

    transA: Whether A should be transposed

    transB: Whether B should be transposed
Gemmr!   r    rz   r*   )r-   r:   r;   Crj   r{   r6   r|   r}   r/   r0   s              r$   r   Opset6.Gemm  sM    V FAr*ff%!!&Q2
 	
r&   T_HardSigmoidg   ?rj   r{   c               d    [        SSS5      n[        U SU5      nU" U R                  XA5      X#S.6$ )u  [🌐 HardSigmoid(6)](https://onnx.ai/onnx/operators/onnx__HardSigmoid.html#hardsigmoid-6 "Online Documentation")


HardSigmoid takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the HardSigmoid function, y = max(0, min(1, alpha * x + beta)),
is applied to the tensor elementwise.


Args:
    X: (differentiable) Input tensor

    alpha: Value of alpha.

    beta: Value of beta.
HardSigmoidr!   r    r   r*   )r-   r.   rj   r{   r/   r0   s         r$   r   Opset6.HardSigmoid  s8    & M1b1mV,4''2%KKr&   T_InstanceNormalization)rA   c               f    [        SSS5      n[        U SU5      nU" U R                  XQX#5      SU06$ )u  [🌐 InstanceNormalization(6)](https://onnx.ai/onnx/operators/onnx__InstanceNormalization.html#instancenormalization-6 "Online Documentation")


Carries out instance normalization as described in the paper
https://arxiv.org/abs/1607.08022.

y = scale * (x - mean) / sqrt(variance + epsilon) + B,
where mean and variance are computed per instance per channel.



Args:
    input: (differentiable) Input data tensor from the previous operator;
        dimensions for image case are (N x C x H x W), where N is the batch
        size, C is the number of channels, and H and W are the height and the
        width of the data. For non image case, the dimensions are in the form of
        (N x C x D1 x D2 ... Dn), where N is the batch size.

    scale: (differentiable) The input 1-dimensional scale tensor of size C.

    B: (differentiable) The input 1-dimensional bias tensor of size C.

    epsilon: The epsilon value to use to avoid division by zero.
InstanceNormalizationr!   r    rA   r*   )r-   rP   rG   r;   rA   r/   r0   s          r$   r   Opset6.InstanceNormalization  s@    B 3Q;-v64''u@R'RRr&   T_LeakyRelug   @z?c               d    [        SSS5      n[        U SU5      nU" U R                  X15      SU06$ )u  [🌐 LeakyRelu(6)](https://onnx.ai/onnx/operators/onnx__LeakyRelu.html#leakyrelu-6 "Online Documentation")


LeakyRelu takes input data (Tensor<T>) and an argument alpha, and produces one
output data (Tensor<T>) where the function `f(x) = alpha * x for x < 0`,
`f(x) = x for x >= 0`, is applied to the data tensor elementwise.


Args:
    X: (differentiable) Input tensor

    alpha: Coefficient of leakage.
	LeakyRelur!   r    rj   r*   rm   s        r$   r   Opset6.LeakyRelu&  s;     KB/k6*4''2@%@@r&   T_Logc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u   [🌐 Log(6)](https://onnx.ai/onnx/operators/onnx__Log.html#log-6 "Online Documentation")


Calculates the natural log of the given input tensor, element-wise.


Args:
    input: Input tensor
Logr!   r    r*   rr   s       r$   r   
Opset6.Log;  rt   r&   T_Maxc                b    [        SSS5      n[        U SU5      nU" U R                  " U/UQ76 6 $ )u  [🌐 Max(6)](https://onnx.ai/onnx/operators/onnx__Max.html#max-6 "Online Documentation")


Element-wise max of each of the input tensors. All inputs and outputs must
have the same shape and data type.


Args:
    data_0: (variadic) List of tensors for Max.
Maxr!   r    r*   r-   data_0r/   r0   s       r$   r   
Opset6.MaxL  ;     E1b)eV$4''8899r&   T_Meanc                b    [        SSS5      n[        U SU5      nU" U R                  " U/UQ76 6 $ )u  [🌐 Mean(6)](https://onnx.ai/onnx/operators/onnx__Mean.html#mean-6 "Online Documentation")


Element-wise mean of each of the input tensors. All inputs and outputs must
have the same shape and data type.


Args:
    data_0: (variadic) List of tensors for Mean.
Meanr!   r    r*   r   s       r$   r   Opset6.Mean^  s;     FAr*ff%4''8899r&   T_Minc                b    [        SSS5      n[        U SU5      nU" U R                  " U/UQ76 6 $ )u  [🌐 Min(6)](https://onnx.ai/onnx/operators/onnx__Min.html#min-6 "Online Documentation")


Element-wise min of each of the input tensors. All inputs and outputs must
have the same shape and data type.


Args:
    data_0: (variadic) List of tensors for Min
Minr!   r    r*   r   s       r$   r   
Opset6.Minp  r   r&   T_Mulc               f    [        SSS5      n[        U SU5      nU" U R                  XQU5      X4S.6$ )u  [🌐 Mul(6)](https://onnx.ai/onnx/operators/onnx__Mul.html#mul-6 "Online Documentation")


Performs element-wise binary multiplication (with limited broadcast support).

If necessary the right-hand-side argument will be broadcasted to match the
shape of left-hand-side argument. When broadcasting is specified, the second
tensor can either be of element size 1 (including a scalar tensor and any
tensor with rank equal to or smaller than the first tensor), or having its
shape as a contiguous subset of the first tensor's shape. The starting of the
mutually equal shape is specified by the argument "axis", and if it is not set,
suffix matching is assumed. 1-dim expansion doesn't work yet.

For example, the following tensor shapes are supported (with broadcast=1):

  shape(A) = (2, 3, 4, 5), shape(B) = (,), i.e. B is a scalar tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (1, 1), i.e. B is an 1-element tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (5,)
  shape(A) = (2, 3, 4, 5), shape(B) = (4, 5)
  shape(A) = (2, 3, 4, 5), shape(B) = (3, 4), with axis=1
  shape(A) = (2, 3, 4, 5), shape(B) = (2), with axis=0

Attribute `broadcast=1` needs to be passed to enable broadcasting.


Args:
    A: First operand, should share the type with the second operand.

    B: Second operand. With broadcasting can be of smaller size than A. If
        broadcasting is disabled it should be of the same size.

    axis: If set, defines the broadcast dimensions. See doc for details.

    broadcast: Pass 1 to enable broadcasting
Mulr!   r    r4   r*   r9   s          r$   r   
Opset6.Mul  r=   r&   T_Negc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u  [🌐 Neg(6)](https://onnx.ai/onnx/operators/onnx__Neg.html#neg-6 "Online Documentation")


Neg takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where each element flipped sign, y = -x, is applied to
the tensor elementwise.


Args:
    X: Input tensor
Negr!   r    r*   r,   s       r$   r   
Opset6.Neg  r2   r&   T_PReluc                `    [        SSS5      n[        U SU5      nU" U R                  X1U5      6 $ )u  [🌐 PRelu(6)](https://onnx.ai/onnx/operators/onnx__PRelu.html#prelu-6 "Online Documentation")



PRelu takes input data (Tensor<T>) and slope tensor as input, and produces one
output data (Tensor<T>) where the function `f(x) = slope * x for x < 0`,
`f(x) = x for x >= 0`., is applied to the data tensor elementwise.



Args:
    X: Input tensor

    slope: Slope tensor. If `Slope` is of size 1, the value is sharedacross
        different channels
PRelur!   r    r*   )r-   r.   sloper/   r0   s        r$   r   Opset6.PRelu  s8    $ GQ+gv&4''59::r&   T_Reciprocalc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u*  [🌐 Reciprocal(6)](https://onnx.ai/onnx/operators/onnx__Reciprocal.html#reciprocal-6 "Online Documentation")


Reciprocal takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the reciprocal is, y = 1/x, is applied to
the tensor elementwise.


Args:
    X: Input tensor

Reciprocalr!   r    r*   r,   s       r$   r   Opset6.Reciprocal  s6     L!R0lF+4''233r&   T_Reluc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u$  [🌐 Relu(6)](https://onnx.ai/onnx/operators/onnx__Relu.html#relu-6 "Online Documentation")


Relu takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the rectified linear function, y = max(0, x), is applied to
the tensor elementwise.


Args:
    X: Input tensor
Relur!   r    r*   r,   s       r$   r   Opset6.Relu  rV   r&   T_Selug   ?g   ?rj   gammac               d    [        SSS5      n[        U SU5      nU" U R                  XA5      X#S.6$ )u  [🌐 Selu(6)](https://onnx.ai/onnx/operators/onnx__Selu.html#selu-6 "Online Documentation")


Selu takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the scaled exponential linear unit function,
`y = gamma * (alpha * e^x - alpha) for x <= 0`, `y = gamma * x for x > 0`,
is applied to the tensor elementwise.


Args:
    X: (differentiable) Input tensor

    alpha: Coefficient of SELU default to 1.67326319217681884765625 (i.e.,
        float32 approximation of 1.6732632423543772848170429916717).

    gamma: Coefficient of SELU default to 1.05070102214813232421875 (i.e.,
        float32 approximation of 1.0507009873554804934193349852946).
Selur!   r    r   r*   )r-   r.   rj   r   r/   r0   s         r$   r   Opset6.Selu   s8    4 FAr*ff%4''2%MMr&   	T_Sigmoidc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u/  [🌐 Sigmoid(6)](https://onnx.ai/onnx/operators/onnx__Sigmoid.html#sigmoid-6 "Online Documentation")


Sigmoid takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the sigmoid function, y = 1 / (1 + exp(-x)), is applied to the
tensor elementwise.


Args:
    X: Input tensor
Sigmoidr!   r    r*   r,   s       r$   r   Opset6.Sigmoid   s6     Iq"-i(4''233r&   T_Sqrtc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )uG  [🌐 Sqrt(6)](https://onnx.ai/onnx/operators/onnx__Sqrt.html#sqrt-6 "Online Documentation")


Square root takes one input data (Tensor<T>) and produces one output data
(Tensor<T>) where the square root is, y = x^0.5, is applied to
the tensor elementwise. If x is negative, then it will return NaN.


Args:
    X: Input tensor
Sqrtr!   r    r*   r,   s       r$   r   Opset6.Sqrt3  rV   r&   T_Subc               f    [        SSS5      n[        U SU5      nU" U R                  XQU5      X4S.6$ )u  [🌐 Sub(6)](https://onnx.ai/onnx/operators/onnx__Sub.html#sub-6 "Online Documentation")


Performs element-wise binary subtraction (with limited broadcast support).

If necessary the right-hand-side argument will be broadcasted to match the
shape of left-hand-side argument. When broadcasting is specified, the second
tensor can either be of element size 1 (including a scalar tensor and any
tensor with rank equal to or smaller than the first tensor), or having its
shape as a contiguous subset of the first tensor's shape. The starting of the
mutually equal shape is specified by the argument "axis", and if it is not set,
suffix matching is assumed. 1-dim expansion doesn't work yet.

For example, the following tensor shapes are supported (with broadcast=1):

  shape(A) = (2, 3, 4, 5), shape(B) = (,), i.e. B is a scalar tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (1, 1), i.e. B is an 1-element tensor
  shape(A) = (2, 3, 4, 5), shape(B) = (5,)
  shape(A) = (2, 3, 4, 5), shape(B) = (4, 5)
  shape(A) = (2, 3, 4, 5), shape(B) = (3, 4), with axis=1
  shape(A) = (2, 3, 4, 5), shape(B) = (2), with axis=0

Attribute `broadcast=1` needs to be passed to enable broadcasting.


Args:
    A: First operand, should share the type with the second operand.

    B: Second operand. With broadcasting can be of smaller size than A. If
        broadcasting is disabled it should be of the same size.

    axis: If set, defines the broadcast dimensions. See doc for details.

    broadcast: Pass 1 to enable broadcasting
Subr!   r    r4   r*   r9   s          r$   r   
Opset6.SubF  r=   r&   T_Sumc                b    [        SSS5      n[        U SU5      nU" U R                  " U/UQ76 6 $ )u  [🌐 Sum(6)](https://onnx.ai/onnx/operators/onnx__Sum.html#sum-6 "Online Documentation")


Element-wise sum of each of the input tensors. All inputs and outputs must
have the same shape and data type.


Args:
    data_0: (variadic) List of tensors for Sum.
Sumr!   r    r*   r   s       r$   r   
Opset6.Sums  r   r&   T_Tanhc                ^    [        SSS5      n[        U SU5      nU" U R                  X!5      6 $ )u   [🌐 Tanh(6)](https://onnx.ai/onnx/operators/onnx__Tanh.html#tanh-6 "Online Documentation")


Calculates the hyperbolic tangent of the given input tensor element-wise.


Args:
    input: Input tensor
Tanhr!   r    r*   rr   s       r$   r   Opset6.Tanh  s6     FAr*ff%4''677r&   T_TileT1_Tilec                `    [        SSS5      n[        U SU5      nU" U R                  X1U5      6 $ )u  [🌐 Tile(6)](https://onnx.ai/onnx/operators/onnx__Tile.html#tile-6 "Online Documentation")

Constructs a tensor by tiling a given tensor.
This is the same as function `tile` in Numpy, but no broadcast.
For example A = [[1, 2], [3, 4]], B = [1, 2], tile(A, B) = [[1, 2, 1, 2], [3, 4, 3, 4]]


Args:
    input: Input tensor of any shape.

    repeats: 1D int64 tensor of the same length as input's dimension number,
        includes numbers of repeated copies along input's dimensions.
Tiler!   r    r*   )r-   rP   repeatsr/   r0   s        r$   r   Opset6.Tile  s8     FAr*ff%4''w?@@r&    )r.   r'   returnr'   )
r:   r3   r;   r3   r5   Optional[int]r6   intr   r3   )r.   r>   rG   r>   r;   r>   rH   r>   rI   r>   rA   floatrB   r   rC   r   rD   r   r   zsTuple[T_BatchNormalization, T_BatchNormalization, T_BatchNormalization, T_BatchNormalization, T_BatchNormalization])rP   rK   rO   r   r   rL   )r.   rR   r   rR   )rP   rW   rY   r   rZ   r   r   rW   )
r:   r^   r;   r^   r5   r   r6   r   r   r^   )rg   rb   rB   r   rd   r   r   zTuple[T_Dropout, T_Dropout])r.   ri   rj   r   r   ri   )rP   ro   r   ro   )r.   ru   r   ru   )r:   ry   r;   ry   r   ry   rj   r   r{   r   r6   r   r|   r   r}   r   r   ry   )r.   r   rj   r   r{   r   r   r   )
rP   r   rG   r   r;   r   rA   r   r   r   )r.   r   rj   r   r   r   )rP   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )
r:   r   r;   r   r5   r   r6   r   r   r   )r.   r   r   r   )r.   r   r   r   r   r   )r.   r   r   r   )r.   r   r   r   )r.   r   rj   r   r   r   r   r   )r.   r   r   r   )r.   r   r   r   )
r:   r   r;   r   r5   r   r6   r   r   r   )r   r   r   r   )rP   r   r   r   )rP   r   r   r   r   r   )X__name__
__module____qualname____firstlineno__r"   r   r   r   r   r   r   r   r   r   r   r   r   r'   r)   r3   r8   r>   rF   r   rK   r   rL   __annotations__rN   rR   rT   rW   r\   r^   r`   rb   rf   ri   rl   ro   rq   ru   rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r&   r$   r   r   )   sy   ) E4" GVUGUE66RE <@RS)W)W )W+8)WLO)W	)WV ##965'R /,F
F
 $F
  	F

 #F
 "F
 F
 F
 F
 F

F
P G  	GY ?, Xvug6F4" Xvug6F ++JJ 	J
 J 
J6 GVUGUE66RE <@RS)W)W )W+8)WLO)W	)WV VUG<I 233UU+.U;@U	$U4 GVUG4E.1 A( GVUG4E8 i8G4" Xvug6F 4
4
 4
 	4
 4
 4
 4
 4
 4
 
4
l OVUGDM 3FUXLL*/LMRL	L. &&?PWX /#S&#S '#S #	#S #S 
!#SJ -@K:N A& GVUG4E8 GVUG4E:  Xvug6F:  GVUG4E:  GVUGUE66RE <@RS)W)W )W+8)WLO)W	)WV GVUGUE5$OE4" i8G;, >65'BL4" Xvug6F4" Xvug6F *)NN 	N
 N 
N< VUG<I4" Xvug6F4" GVUGUE66RE <@RS)W)W )W+8)WLO)W	)WV GVUG4E:  Xvug6F8 !F& GYAr&   r   N)!
__future__r   typingr   r   r   r   	onnx.defsr   typing_extensionsr	   "onnxscript.onnx_opset._impl.opset5r
   onnxscript.onnx_typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   onnxscript.valuesr   r   r   r   r&   r$   <module>r      sG    # 2 2   ' 5    " (QAV QAr&   