DepthToSpace

パブリック最終クラスDepthToSpace

T 型のテンソルの DepthToSpace。

データを深度から空間データのブロックに再配置します。これは、SpaceToDepth の逆変換です。より具体的には、この操作は、「深さ」次元の値が空間ブロックで「高さ」次元と「幅」次元に移動される入力テンソルのコピーを出力します。属性「block_size」は、入力ブロックのサイズとデータの移動方法を示します。

* 深さからのサイズ `block_size * block_size` のデータのチャンクは、サイズ `block_size x block_size` の重複しないブロックに再配置されます。 * 出力テンソルの幅は `input_ Depth * block_size` であり、高さは `input_height * block_size` です。 * 出力画像の各ブロック内の Y、X 座標は、入力チャンネル インデックスの高次成分によって決定されます。 * 入力テンソルの深さは `block_size * block_size` で割り切れる必要があります。

`data_format` 属性は、次のオプションを使用して入力テンソルと出力テンソルのレイアウトを指定します: "NHWC": `[ バッチ、高さ、幅、チャネル ]` "NCHW": `[ バッチ、チャネル、高さ、幅 ]` " NCHW_VECT_C": `qint8 [バッチ、チャネル / 4、高さ、幅、4 ]`

この操作を 6 次元テンソルの変換として考えると便利です。たとえば、data_format = NHWC の場合、入力テンソルの各要素は 6 つの座標を介して指定でき、メモリ レイアウトの重要性の降順で次のように並べられます: n,iY,iX,bY,bX,oC (ここで、n=バッチ インデックス、iX、iY は X を意味します)または入力画像内の Y 座標、bX、bY は出力ブロック内の座標、oC は出力チャネルを意味します)。出力は、入力を次のレイアウトに転置したものになります: n,iY,bY,iX,bX,oC

この操作は、たとえばプールする代わりに、畳み込み間のアクティベーションのサイズを変更する場合に役立ちます (ただし、すべてのデータは保持します)。純粋に畳み込みモデルをトレーニングする場合にも役立ちます。

たとえば、形状 `[1, 1, 1, 4]` の入力が与えられた場合、data_format = "NHWC" および block_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
この演算は、形状 `[1, 2, 2, 1] のテンソルを出力します。 ]`:
[[[[1], [2]],
      [[3], [4]]]]
 
ここで、入力には 1 のバッチがあり、各バッチ要素の形状は `[1, 1, 4]` です。対応する出力には 2x2 要素があり、深さは 1 チャンネルになります (1 = ` 4 / (ブロックサイズ * ブロックサイズ)`)。出力要素の形状は `[2, 2, 1]` です。

より深い深さの入力テンソルの場合、ここでは形状 `[1, 1, 1, 12]` です。たとえば

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
です。この演算は、ブロック サイズ 2 の場合、次の形状 `[1, 2, 2] のテンソルを返します。 , 3]`
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
同様に、次の形状 `[1 2 2 4]` およびブロック サイズ 2 の入力:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
の場合、演算子は形状 `[1 4 4 1] の次のテンソルを返します。 `:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

ネストされたクラス

クラスDepthToSpace.オプションDepthToSpaceのオプションの属性

定数

OP_NAME TensorFlow コア エンジンによって認識される、この演算の名前

パブリックメソッド

出力<T>
asOutput ()
テンソルのシンボリック ハンドルを返します。
static <T extends TType > DepthToSpace <T>
create (スコープscope、オペランド<T>入力、Long blockSize、オプション...オプション)
新しい DepthToSpace 操作をラップするクラスを作成するファクトリ メソッド。
静的DepthToSpace.Options
dataFormat (文字列データ形式)
出力<T>

継承されたメソッド

定数

パブリック静的最終文字列OP_NAME

TensorFlow コア エンジンによって認識される、この演算の名前

定数値: "DepthToSpace"

パブリックメソッド

public Output <T> asOutput ()

テンソルのシンボリック ハンドルを返します。

TensorFlow オペレーションへの入力は、別の TensorFlow オペレーションの出力です。このメソッドは、入力の計算を表すシンボリック ハンドルを取得するために使用されます。

public static DepthToSpace <T> create (スコープスコープ、オペランド<T> 入力、Long blockSize、オプション...オプション)

新しい DepthToSpace 操作をラップするクラスを作成するファクトリ メソッド。

パラメーター
範囲現在のスコープ
ブロックサイズ空間ブロックのサイズ。Space2Depth と同じです。
オプションオプションの属性値を持ちます
戻り値
  • DepthToSpace の新しいインスタンス

public static DepthToSpace.Options dataFormat (String dataFormat)

public出力<T>出力()