位移

位移 - 11

版本

  • 名称: 位移 (GitHub)

  • : main

  • 自版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自版本 11起可用。

摘要

按位移位运算符执行逐元素运算。对于每个输入元素,如果属性“方向”为“右”,则此运算符将其二进制表示形式向右移动,从而有效降低输入值。如果属性“方向”为“左”,则二进制表示形式的位将向左移动,这会导致其实际值的增加。输入 X 是要移位的张量,另一个输入 Y 指定移位的数量。例如,如果“方向”为“右”,X 为 [1, 4],S 为 [1, 1],则相应的输出 Z 将为 [0, 2]。如果“方向”为“左”,X 为 [1, 2],S 为 [1, 2],则相应的输出 Y 将为 [2, 8]。

由于此运算符支持 NumPy 样式的广播,因此 X 和 Y 的形状不必完全相同。此运算符支持多方向(即 NumPy 样式)广播;有关更多详细信息,请查看 ONNX 中的广播

属性

  • direction - STRING (必需)

    移动位的方向。可以是“右”(右移)或“左”(左移)。

输入

  • X (异构) - T

    第一个操作数,要移位的输入。

  • Y (异构) - T

    第二个操作数,移位的数量。

输出

  • Z (异构) - T

    输出张量

类型约束

  • T 在 ( tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) ) 中

    将输入和输出类型约束为整数张量。