T 型のテンソルの SpaceToDepth。
空間データのブロックを深度に再配置します。より具体的には、この操作は、「高さ」次元と「幅」次元の値が「深さ」次元に移動された入力テンソルのコピーを出力します。属性「block_size」は入力ブロックのサイズを示します。
* サイズ `block_size x block size` の重複しないブロックは、各位置の深さに再配置されます。 * 出力テンソルの深さは `block_size * block_size * input_ Depth` です。 * 入力の各ブロック内の Y、X 座標は、出力チャネル インデックスの上位コンポーネントになります。 * 入力テンソルの高さと幅は block_size で割り切れる必要があります。
`data_format` 属性は、次のオプションを使用して入力テンソルと出力テンソルのレイアウトを指定します: "NHWC": `[ バッチ、高さ、幅、チャネル ]` "NCHW": `[ バッチ、チャネル、高さ、幅 ]` " NCHW_VECT_C": `qint8 [バッチ、チャネル / 4、高さ、幅、4 ]`
この操作を 6 次元テンソルの変換として考えると便利です。たとえば、data_format = NHWC の場合、入力テンソルの各要素は 6 つの座標を介して指定でき、メモリ レイアウトの重要性の降順に次のように並べられます: n,oY,bY,oX,bX,iC (ここで、n=バッチ インデックス、oX、oY は X を意味します)または出力画像内の Y 座標、bX、bY は入力ブロック内の座標を意味し、iC は入力チャンネルを意味します)。出力は次のレイアウトに転置されます: n、oY、oX、bY、bX、iC
この操作は、たとえばプールする代わりに、畳み込み間のアクティベーションのサイズを変更する場合に役立ちます (ただし、すべてのデータは保持します)。純粋に畳み込みモデルをトレーニングする場合にも役立ちます。
たとえば、入力形状 `[1, 2, 2, 1]`、data_format = "NHWC"、block_size = 2 の場合、次のようになります。
x = [[[[1], [2]],
[[3], [4]]]]
この操作は、形状 `[1, 1, 1, 4]` のテンソルを出力します。 [[[[1, 2, 3, 4]]]]
ここで、入力には 1 のバッチがあり、各バッチ要素の形状は `[2, 2, 1]` です。対応する出力は 1 つの要素 (つまり、幅と高さは両方とも 1) を持ち、深さは 4 チャネルになります。 (1 * ブロックサイズ * ブロックサイズ)。出力要素の形状は `[1, 1, 4]` です。より深い深さの入力テンソルの場合、ここでは形状 `[1, 2, 2, 3]` になります。例:
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
block_size が 2 の場合、この操作は次の形状 `[1, 1, 1, 12]` のテンソルを返します。 [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
同様に、形状 `[1 4 4 1]` とブロック サイズ 2 の次の入力の場合: x = [[[[1], [2], [5], [6]],
[[3], [4], [7], [8]],
[[9], [10], [13], [14]],
[[11], [12], [15], [16]]]]
演算子は、次の形状 `[1 2 2 4]` のテンソルを返します。 x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
ネストされたクラス
クラス | SpaceToDepth.オプション | SpaceToDepth のオプションの属性 |
定数
弦 | OP_NAME | TensorFlow コア エンジンによって認識される、この演算の名前 |
パブリックメソッド
出力<T> | asOutput () テンソルのシンボリック ハンドルを返します。 |
static <T extends TType > SpaceToDepth <T> | |
静的SpaceToDepth.Options | dataFormat (文字列データ形式) |
出力<T> | 出力() |
継承されたメソッド
定数
パブリック静的最終文字列OP_NAME
TensorFlow コア エンジンによって認識される、この演算の名前
パブリックメソッド
public Output <T> asOutput ()
テンソルのシンボリック ハンドルを返します。
TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。
public static SpaceToDepth <T> create (スコープスコープ、オペランド<T> 入力、Long blockSize、オプション...オプション)
新しい SpaceToDepth 操作をラップするクラスを作成するファクトリ メソッド。
パラメータ
範囲 | 現在のスコープ |
---|---|
ブロックサイズ | 空間ブロックのサイズ。 |
オプション | オプションの属性値を持ちます |
返品
- SpaceToDepth の新しいインスタンス