CumSum

バージョン名: CumSum-3

カテゴリー: 算術単項演算

簡単な説明: CumSum は、指定された axis に沿って入力要素の累積合計を行います。

詳細な説明: CumSum は、2 番目の入力で指定された axis に沿って入力要素の累積合計を行います。デフォルトでは、j 番目の出力要素は、指定されたシーケンス内の最初の j 要素の包括的合計であり、シーケンス内の最初の要素がそのまま出力にコピーされます。exclusive モードでは、j 番目の出力要素は最初の j-1 要素の合計であり、出力シーケンスの最初の要素は 0 です。軸の逆方向に合計を実行するには、reverse 属性を true に設定します。

属性:

  • exclusive

    • 説明: 属性が true に設定されている場合、排他的合計が返されます。j 番目の要素は j 番目の合計には含まれません。それ以外の場合は、j 番目の要素に対する最初の j 要素の包括的合計が計算されます。

    • 値の範囲:

      • false - 最上位の要素を含める

      • true - 最上位の要素は含めない

    • タイプ: boolean

    • デフォルト値: false

    • 必須: いいえ

  • reverse

    • 説明: true に設定すると、合計が逆方向に実行されます。

    • 値の範囲:

      • false - 逆方向に合計を実行しない

      • true - 逆方向に合計を実行する

    • タイプ: boolean

    • デフォルト値: false

    • 必須: いいえ

入力:

  • 1: タイプ T でランク 1 以上のテンソル。必須。

  • 2: 累積合計が実行される軸のインデックス。T_AXIS タイプのスカラー。負の値は、次元を後ろから数えることを意味します。デフォルト値は 0 です。オプション。

出力:

  • 1: 入力要素の累積和を含む出力テンソル。最初の入力と同じ形状の T タイプのテンソル。

タイプ:

  • T: 任意の数値タイプ。

  • T_AXIS: int64 または int32

例:

例 1

<layer ... type="CumSum" exclusive="0" reverse="0">
    <input>
        <port id="0">     <!-- input value is: [1., 2., 3., 4., 5.] -->
            <dim>5</dim>
        </port>
        <port id="1"/>     <!-- axis value is: 0 -->
    </input>
    <output>
        <port id="2">     <!-- output value is: [1., 3., 6., 10., 15.] -->
            <dim>5</dim>
        </port>
    </output>
</layer>

例 2

<layer ... type="CumSum" exclusive="1" reverse="0">
    <input>
        <port id="0">     <!-- input value is: [1., 2., 3., 4., 5.] -->
            <dim>5</dim>
        </port>
        <port id="1"/>     <!-- axis value is: 0 -->
    </input>
    <output>
        <port id="2">     <!-- output value is: [0., 1., 3., 6., 10.] -->
            <dim>5</dim>
        </port>
    </output>
</layer>

例 3

<layer ... type="CumSum" exclusive="0" reverse="1">
    <input>
        <port id="0">     <!-- input value is: [1., 2., 3., 4., 5.] -->
            <dim>5</dim>
        </port>
        <port id="1"/>     <!-- axis value is: 0 -->
    </input>
    <output>
        <port id="2">     <!-- output value is: [15., 14., 12., 9., 5.] -->
            <dim>5</dim>
        </port>
    </output>
</layer>

例 4

<layer ... type="CumSum" exclusive="1" reverse="1">
    <input>
        <port id="0">     < -- input value is: [1., 2., 3., 4., 5.] -->
            <dim>5</dim>
        </port>
        <port id="1"/>     < -- axis value is: 0 -->
    </input>
    <output>
        <port id="2">     < -- output value is: [14., 12., 9., 5., 0.] -->
            <dim>5</dim>
        </port>
    </output>
</layer>