Tile¶
バージョン名: Tile-1
カテゴリー: データ移動
簡単な説明: Tile 操作は、入力テンソル “data” を、各次元に沿って “repeats” 入力テンソルで指定された回数繰り返します。
“repeats” の要素の数が “data” の形状よりも多い場合、“data” は、新しい軸を先頭に追加することによって “repeats” に昇格されます。“data” の形状が (2, 3) に等しく、“repeats” が [2, 2, 2] に等しい場合、“data” の形状は (1, 2, 3) にプロモートされ、結果の形状は (2, 4, 6) になります。
“repeats” の要素の数が “data” の形状よりも少ない場合、“repeats” は先頭に 1 を付加することによって “data” に昇格されます。“data” の形状が (4, 2, 3) に等しく、“repeats” が [2, 2] に等しい場合、“repeats” は [1, 2, 2] に昇格され、結果の形状は (4、4、6) になります。
属性:
利用可能な属性はありません。
入力:
1: “data” - パディングされる入力テンソル。T1 タイプのテンソル。必須。
2: “repeats” - 次元ごとの複製係数。例えば、repeats が 88 に等しい場合は、出力テンソルが指定された軸からデータの 88 コピーを取得することを意味します。T2 タイプのテンソル。必須。
出力:
1: 結果の形状の次元数は、“data” 形状の次元数と “repeats” の要素数の最大値と等しくなります。1 番目のテンソルとタイプが一致するテンソル。
タイプ:
T1: サポートされている任意のタイプ。
T2: 任意の整数タイプ。
詳細説明:
Tile 操作は、次のルールに従って入力テンソルを拡張し、出力テンソルを埋めます。
例:
例 1: “repeats” の要素数がデータの形状と等しい場合
<layer ... type="Tile">
<input>
<port id="0">
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>3</dim> <!-- [1, 2, 3] -->
</port>
</input>
<output>
<port id="2">
<dim>2</dim>
<dim>6</dim>
<dim>12</dim>
</port>
</output>
</layer>
例 2: “repeats” の要素数がデータの形状より多い場合
<layer ... type="Tile">
<input>
<port id="0"> <!-- will be promoted to shape (1, 2, 3, 4) -->
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>4</dim> <!-- [5, 1, 2, 3] -->
</port>
</input>
<output>
<port id="2">
<dim>5/dim>
<dim>2</dim>
<dim>6</dim>
<dim>12</dim>
</port>
</output>
</layer>
例 3: “repeats” の要素数がデータの形状より少ない場合
<layer ... type="Tile">
<input>
<port id="0">
<dim>5</dim>
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>3</dim> <!-- [1, 2, 3] will be promoted to [1, 1, 2, 3] -->
</port>
</input>
<output>
<port id="2">
<dim>5</dim>
<dim>2</dim>
<dim>6</dim>
<dim>12</dim>
</port>
</output>
</layer>