---
title: 输入输出
description: "| 参数 | 维度 | 数据类型 | 格式 | 描述 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0146.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0146.html
indexId: 101d610ad61fcae08e9293950fd442c7e0e6fd2a49b5ca829f75485d1d59500364
---
# 输入输出

#### ELEWISE_CAST（转化数据类型）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16/float/int64/int32/bf16 | ND | 被转换类型的输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | float16/float/int64/int32/bf16 | ND | 被转换类型的输出。 在Atlas 350 加速卡、 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 和 Atlas A3 推理系列产品 / Atlas A3 训练系列产品 上，支持float16和float、int32和int64、bf16和float数据类型互相转化。 在 Atlas 推理系列产品 上，支持float16和float数据类型互相转化。 |


#### ELEWISE_MULS（向量逐元素乘值）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16/float/bf16 | ND | 输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | float/float16/bf16 | ND | 输出。数据类型与x保持一致。 |


#### ELEWISE_COS（逐元素计算余弦值）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float/float16/bf16 | ND | 输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | float/float16/bf16 | ND | 输出。数据类型与x保持一致。 |


#### ELEWISE_SIN（逐元素计算正弦值）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float/float16/bf16 | ND | 输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | float/float16/bf16 | ND | 输出。数据类型与x保持一致。 |


#### ELEWISE_NEG（逐元素取相反数）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16/bf16 | ND | 输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | float16/bf16 | ND | 输出。数据类型与x保持一致。 |


#### ELEWISE_QUANT（量化）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16 | ND | 输入。最后一个维度大小必须是32的倍数。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | int8 | ND | 输出。 |
| x/out不支持 Atlas 推理系列产品 。 | x/out不支持 Atlas 推理系列产品 。 | x/out不支持 Atlas 推理系列产品 。 | x/out不支持 Atlas 推理系列产品 。 | x/out不支持 Atlas 推理系列产品 。 |


#### ELEWISE_LOGICAL_NOT（逐元素逻辑非）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | int8 | ND | 输入。 |
| out | [dim\_0, dim\_1, ..., dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_ADD（逐元素相加）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | float/float16/bf16/int32/int64 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输出。输出、输入1、输入2数据类型需保证一致。 |


#### ELEWISE_MUL（向量与向量逐元素相乘）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | float16/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输出。输出、输入1和输入2数据类型需保证一致 |


#### ELEWISE_REALDIV（向量与向量逐元素相除）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | float/float16/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输出。输出、输入1和输入2数据类型需保证一致。 |


#### ELEWISE_LOGICAL_AND（逐元素逻辑与）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输入2。输入1和输入2的元素值只能为0或1。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_LOGICAL_OR（逐元素逻辑或）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输入2。输入1和输入2的元素值只能为0或1。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_LESS（逐元素判断是否小于）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int64/float/float16/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。输入1、输入2数据类型需保证一致。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_GREATER（逐元素判断是否大于）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int64/float/float16/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。输入1、输入2数据类型需保证一致。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_SUB（逐元素相减）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | float16/int64/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。输入1、输入2数据类型需保证一致。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输出。 |


#### ELEWISE_EQUAL（逐元素判断是否相等）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | float/float16/bf16 | ND | 输入1。 |
| y | [y\_dim\_0, ..., y\_dim\_n] | 与x一致 | ND | 输入2。输入1、输入2数据类型需保证一致。 |
| out | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, y\_dim\_0, ..., y\_dim\_n] | int8 | ND | 输出。 |


#### ELEWISE_QUANT_PER_CHANNEL（每个通道量化）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, dim\_0, ..., dim\_n] | float16/bf16 | ND | 输入1。 |
| scale | [dim\_0, ..., dim\_n] | float16/bf16 | ND | 输入2。scale中元素要求不为0。输入1，输入2数据类型需保证一致。 |
| offset | [dim\_0, ..., dim\_n] | int8 | ND | 输入3。offset可以为空Tensor。 |
| y | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, dim\_0, ..., dim\_n] | int8 | ND | 量化输出结果。 |


#### ELEWISE_DEQUANT_PER_CHANNEL（每个通道反量化）


| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| y | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, dim\_0, ..., dim\_n] | int8 | ND | 输入向量1。 |
| scale | [dim\_0, ..., dim\_n] | float16 | ND | 输入向量2。 |
| offset | [dim\_0, ..., dim\_n] | int8 | ND | 输入向量3。offset可以为空Tensor。输入1，输入3数据类型需保证一致。 |
| x | [x\_dim\_0, x\_dim\_1, ..., x\_dim\_n, dim\_0, ..., dim\_n] | float16 | ND | 反量化输出结果。 |


#### ELEWISE_DYNAMIC_QUANT（逐行动态量化）

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, dim\_1, ..., dim\_n] | float16/bf16 | ND | 输入向量，n>1。 |
| z | [dim\_0, dim\_1, ..., dim\_n] | int8 | ND | 量化输出结果。 |
| scale | [dim\_0, ..., dim\_n\-1] | float | ND | 输出，反量化所需的scale。 |
| offset | [dim\_0, ..., dim\_n\-1] | float | ND | 输出，反量化所需的offset，在“asymmetric”为“true”时才返回。当前不支持asymmetric为true的场景。 |


#### ELEWISE_TANH（逐元素计算双曲正切值）

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| x | [dim\_0, ..., dim\_n] | float16 | ND | 输入。 |
| out | [dim\_0, ..., dim\_n] | float16 | ND | 输出。 |
