Eye#

バージョン名: Eye-9

カテゴリー: 生成

簡単な説明: Eye 操作により、シフト行列または行列のバッチが生成されます。

詳細な説明:

Eye 操作は、対角に 1 とそれ以外のすべてに 0 を含む単位行列またはバッチ行列を生成します。1 が設定される対角線のインデックスは、diagonal_index で与えられます: output[..., i, i + diagonal_index] = 1

例 1output_type = i32Eye 出力:

num_rows = 3 
num_columns = 4 
diagonal_index = 2 
output = [[0 0 1 0] [0 0 0 1] [0 0 0 0]]

例 2output_type = i32Eye 出力:

num_rows = 3 
num_columns = 4 
diagonal_index = -1 
output = [[0 0 0 0] [1 0 0 0] [0 1 0 0]]

例 3output_type = f16Eye 出力:

num_rows = 2 
diagonal_index = 5 
batch_shape = [1, 2] 
output = [[[[0.0.] [0. 0.]] [[0. 0.] [0.0.]]]]

属性:

  • output_type

    • 説明: 出力のタイプ

    • 値の範囲: 任意の数値タイプ

    • タイプ: string

    • 必須: はい

入力:

  • 1: num_rows - 行列の行数を記述する T_NUM タイプの 1 つの非負要素を含むスカラーまたは 1D テンソル。必須。

  • 2: num_columns - 行列の列数を表す T_NUM タイプの 1 つの非負要素を含むスカラーまたは 1D テンソル。必須。

  • 3: diagonal_index - 設定される対角線のインデックスを記述する T_NUM タイプの要素を持つスカラーまたは 1D テンソル。正の値は上の対角線を指し、負の値は下の対角線を指します。値 0 は主対角線に設定されます。diagonal_index が正の値であり、num_rows より小さくない、または diagonal_index が負の値で、num_columns より大きくない場合、行列はゼロのみで埋められます。必須。

  • 4: batch_shape - T_NUM タイプの非負の値を持つ 1D テンソルは、出力形状の先頭のバッチ次元を定義します。batch_shape が空のリストの場合、Eye 操作により 2D テンソル (行列) が生成されます。この入力はオプションであり、デフォルト値は空のテンソルと等しくなります。

出力:

  • 1: output_type 属性で指定されたタイプのテンソル。形状は batch_shape + [num_rows, num_columns] です

タイプ

  • T_NUM: int32 または int64

例 1

<layer ... name="Eye" type="Eye"> 
    <data output_type="i8"/> 
    <input> 
        <port id="0" precision="I32"/>
            <!-- num 行: 5 --> 
        <port id="1" precision="I32"/>
            <!-- num 列: 5 --> 
        <port id="2" precision="I32"/>
            <!-- 対角インデックス --> 
    </input> 
    <output> 
        <port id="3" precision="I8" names="Eye:0"> 
            <dim>5</dim> 
            <dim>5</dim> 
        </port> 
    </output> 
</layer>

例 2

<layer ... name="Eye" type="Eye"> 
    <data output_type="f32"/> 
    <input> 
        <port id="0" precision="I32"/>
            <!-- num 行 --> 
        <port id="1" precision="I32"/>
             <!-- num 列 --> 
        <port id="2" precision="I32"/>
             <!-- 対角インデックス --> 
        <port id="3" precision="I32"/>
             <!-- batch_shape : [2, 3] --> 
    </input> 
    <output> 
        <port id="3" precision="F32" names="Eye:0"> 
            <dim>2</dim> 
            <dim>3</dim> 
            <dim>-1</dim> 
            <dim>-1</dim> 
        </port> 
    </output> 
</layer>