Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.nn.space_to_depth

TensorFlow 1 versi Lihat sumber di GitHub

SpaceToDepth untuk tensor jenis T.

Menata kembali blok data spasial, dalam kedalaman. Lebih khusus, op ini output salinan dari tensor masukan di mana nilai-nilai dari height dan width dimensi dipindahkan ke depth dimensi. The attr block_size menunjukkan ukuran blok masukan.

  • Tidak tumpang tindih blok ukuran block_size x block size yang disusun kembali ke kedalaman di setiap lokasi.
  • Kedalaman tensor output block_size * block_size * input_depth .
  • Koordinat Y, X dalam setiap blok input menjadi komponen urutan tinggi dari indeks saluran output.
  • tinggi input tensor dan lebar harus dibagi oleh block_size.

The data_format menspesifikasikan attr tata letak input dan output tensor dengan pilihan berikut: "NHWC": [ batch, height, width, channels ] "NCHW": [ batch, channels, height, width ] "NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]

Hal ini berguna untuk mempertimbangkan operasi sebagai transformasi 6-D Tensor. misalnya untuk data_format = NHWC, Setiap elemen dalam tensor input dapat ditetapkan melalui 6 koordinat, diperintahkan oleh penurunan memori tata letak signifikansi sebagai: n, Oy, bY, OX, bX, IC (di mana n = indeks batch, OX, Oy berarti X atau koordinat Y dalam output gambar, bX, bY koordinat berarti dalam blok masukan, IC berarti saluran input). output akan menjadi transpose untuk tata letak berikut: n, Oy, OX, bY, bX, IC

Operasi ini berguna untuk mengubah ukuran aktivasi antara convolutions (tapi menjaga semua data), misalnya bukan pooling. Hal ini juga berguna untuk melatih model murni convolutional.

Sebagai contoh, diberi masukan dari bentuk [1, 2, 2, 1] , data_format = "NHWC" dan block_size = 2:

 x = [[[[1], [2]],
      [[3], [4]]]]
 

Ini operasi akan menampilkan sebuah tensor bentuk [1, 1, 1, 4] :

 [[[[1, 2, 3, 4]]]]
 

Di sini, input memiliki batch 1 dan setiap elemen bets memiliki bentuk [2, 2, 1] , output yang sesuai akan memiliki elemen tunggal (yaitu lebar dan tinggi keduanya 1) dan akan memiliki kedalaman 4 saluran (1 * block_size * block_size). Bentuk keluaran elemen [1, 1, 4] .

Untuk tensor input dengan kedalaman yang lebih besar, di sini dari bentuk [1, 2, 2, 3] , misalnya

 x = [[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 

Operasi ini, untuk block_size dari 2, akan kembali tensor berikut bentuk [1, 1, 1, 12]

 [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 

Demikian pula, untuk masukan berikut bentuk [1 4 4 1] , dan ukuran blok 2:

 x = [[[[1],   [2],  [5],  [6]],
      [[3],   [4],  [7],  [8]],
      [[9],  [10], [13],  [14]],
      [[11], [12], [15],  [16]]]]
 

operator akan mengembalikan tensor berikut bentuk [1 2 2 4] :

 x = [[[[1, 2, 3, 4],
       [5, 6, 7, 8]],
      [[9, 10, 11, 12],
       [13, 14, 15, 16]]]]
 

input Sebuah Tensor .
block_size Sebuah int yang >= 2 . Ukuran blok spasial.
data_format Opsional string dari: "NHWC", "NCHW", "NCHW_VECT_C" . Defaultnya "NHWC" .
name Sebuah nama untuk operasi (opsional).

Sebuah Tensor . Memiliki jenis yang sama seperti input .