DepthToSpace untuk tensor tipe T.
Menyusun ulang data dari kedalaman menjadi blok data spasial. Ini adalah transformasi kebalikan dari SpaceToDepth. Lebih khusus lagi, operasi ini menghasilkan salinan tensor masukan di mana nilai dari dimensi `kedalaman` dipindahkan dalam blok spasial ke dimensi `tinggi` dan `lebar`. Attr `block_size` menunjukkan ukuran blok masukan dan cara data dipindahkan.
* Potongan data berukuran `block_size * block_size` dari kedalaman disusun ulang menjadi blok-blok yang tidak tumpang tindih dengan ukuran `block_size x block_size` * Lebar tensor keluaran adalah `input_ depth * block_size`, sedangkan tingginya adalah `input_height * block_size`. * Koordinat Y, X dalam setiap blok gambar keluaran ditentukan oleh komponen tingkat tinggi dari indeks saluran masukan. * Kedalaman tensor masukan harus habis dibagi `ukuran_blok *ukuran_blok`.
Attr `data_format` menentukan tata letak tensor masukan dan keluaran dengan opsi berikut: "NHWC": `[ batch, tinggi, lebar, saluran ]` "NCHW": `[ batch, saluran, tinggi, lebar ]` " NCHW_VECT_C": `qint8 [ batch, saluran / 4, tinggi, lebar, 4 ]`
Penting untuk mempertimbangkan operasi ini sebagai transformasi Tensor 6-D. misalnya untuk data_format = NHWC, Setiap elemen dalam tensor masukan dapat ditentukan melalui 6 koordinat, diurutkan dengan mengurangi signifikansi tata letak memori sebagai: n,iY,iX,bY,bX,oC (di mana n=indeks batch, iX, iY berarti X atau koordinat Y dalam gambar masukan, bX, bY berarti koordinat dalam blok keluaran, oC berarti saluran keluaran). Outputnya akan menjadi input yang dialihkan ke tata letak berikut: n,iY,bY,iX,bX,oC
Operasi ini berguna untuk mengubah ukuran aktivasi antar konvolusi (tetapi menyimpan semua data), misalnya, alih-alih mengumpulkan. Hal ini juga berguna untuk melatih model konvolusional murni.
Misalnya, jika diberi masukan bentuk `[1, 1, 1, 4]`, data_format = "NHWC" dan block_size = 2:
x = [[[[1, 2, 3, 4]]]]
[[[[1], [2]],
[[3], [4]]]]
Untuk tensor masukan dengan kedalaman lebih besar, bentuk berikut `[1, 1, 1, 12]`, misalnya
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
[[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
x = [[[ [1], [2], [5], [6]],
[ [3], [4], [7], [8]],
[ [9], [10], [13], [14]],
[ [11], [12], [15], [16]]]]
Kelas Bersarang
kelas | DepthToSpace.Opsi | Atribut opsional untuk DepthToSpace |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
Keluaran <T> | sebagai Keluaran () Mengembalikan pegangan simbolis tensor. |
statis <T memperluas TType > DepthToSpace <T> | |
DepthToSpace.Options statis | format data (Format data string) |
Keluaran <T> | keluaran () |
Metode Warisan
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
Keluaran publik <T> sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static DepthToSpace <T> buat ( Lingkup lingkup , masukan Operan <T>, Ukuran blok panjang, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi DepthToSpace baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
ukuran blok | Ukuran blok spasial, sama seperti di Space2Depth. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru DepthToSpace