tensorflow::ops::FractionalMaxPool
#include <nn_ops.h>Melakukan max pooling fraksional pada input.
Ringkasan
Max pooling fraksional sedikit berbeda dari max pooling biasa. Dalam max pooling biasa, Anda memperkecil ukuran himpunan input dengan mengambil nilai maksimum dari subbagian himpunan yang lebih kecil berukuran N x N (seringkali 2x2), dan mencoba mengurangi himpunan tersebut dengan faktor N, di mana N adalah bilangan bulat. Max pooling fraksional, seperti yang mungkin Anda duga dari kata "fraksional", berarti bahwa rasio pengurangan keseluruhan N tidak harus berupa bilangan bulat.
Ukuran wilayah penggabungan dihasilkan secara acak tetapi cukup seragam. Misalnya, mari kita lihat dimensi tinggi, dan batasan pada daftar baris yang akan menjadi batas penggabungan.
Pertama-tama kita definisikan hal-hal berikut:
- input_row_length: jumlah baris dari himpunan input.
- output_row_length: yang akan lebih kecil dari input.
- alpha = panjang_baris_masukan / panjang_baris_keluaran : rasio pengurangan kita
- K = floor(alpha)
- row_pooling_sequence: ini adalah daftar hasil baris batas pool.
Kemudian, row_pooling_sequence harus memenuhi syarat:
- a[0] = 0 : nilai pertama dari urutan tersebut adalah 0
- a[end] = input_row_length : nilai terakhir dari urutan tersebut adalah ukurannya
- K <= (a[i+1] - a[i]) <= K+1 : semua interval berukuran K atau K+1
- panjang(urutan_penggabungan_baris) = panjang_baris_keluaran+1
Untuk detail lebih lanjut tentang fractional max pooling, lihat makalah ini: Benjamin Graham, Fractional Max-Pooling
Argumen:
- Cakupan: Objek Cakupan
- nilai: 4-D dengan bentuk
[batch, height, width, channels]. - pooling_ratio: Rasio pooling untuk setiap dimensi
value, saat ini hanya mendukung dimensi baris dan kolom dan harus >= 1,0. Misalnya, rasio pooling yang valid terlihat seperti [1,0, 1,44, 1,73, 1,0]. Elemen pertama dan terakhir harus 1,0 karena kami tidak mengizinkan pooling pada dimensi batch dan saluran. 1,44 dan 1,73 adalah rasio pooling pada dimensi tinggi dan lebar masing-masing.
Atribut opsional (lihat Attrs ):
- pseudo_random: Jika diatur ke True, akan menghasilkan urutan penggabungan secara pseudorandom, jika tidak, akan menghasilkan secara acak. Lihat makalah Benjamin Graham, Fractional Max-Pooling untuk mengetahui perbedaan antara pseudorandom dan random.
- overlapping: Jika diatur ke True, artinya saat melakukan pooling, nilai-nilai di batas sel pooling yang berdekatan akan digunakan oleh kedua sel tersebut. Misalnya:
index 0 1 2 3 4
value 20 5 16 3 7
Jika urutan pooling adalah [0, 2, 4], maka 16, pada indeks 2 akan digunakan dua kali. Hasilnya akan menjadi [20, 16] untuk max pooling fraksional.
- deterministik: Saat diatur ke True, wilayah pooling tetap akan digunakan saat melakukan iterasi pada node FractionalMaxPool dalam grafik komputasi. Terutama digunakan dalam pengujian unit untuk membuat FractionalMaxPool deterministik.
- seed: Jika seed atau seed2 diatur ke nilai bukan nol, generator angka acak akan diinisialisasi dengan seed yang diberikan. Jika tidak, generator akan diinisialisasi dengan seed acak.
- seed2: Benih kedua untuk menghindari benturan benih.
Mengembalikan:
-
Outputoutput: tensor output setelah max pooling fraksional. -
Outputrow_pooling_sequence: urutan penggabungan baris, diperlukan untuk menghitung gradien. -
Outputcol_pooling_sequence: urutan penggabungan kolom, diperlukan untuk menghitung gradien.
Konstruktor dan Destruktor | |
|---|---|
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio) | |
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs) |
Atribut publik | |
|---|---|
col_pooling_sequence | |
operation | |
output | |
row_pooling_sequence | |
Fungsi statis publik | |
|---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) | |
Struktur | |
|---|---|
| tensorflow::ops::FractionalMaxPool::Attrs | Pengaturan atribut opsional untuk FractionalMaxPool . |
Atribut publik
urutan_penggabungan_kolom
::tensorflow::Output col_pooling_sequence
operasi
Operation operation
keluaran
::tensorflow::Output output
urutan_penggabungan_baris
::tensorflow::Output row_pooling_sequence
Fungsi publik
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
Fungsi statis publik
Deterministik
Attrs Deterministic( bool x )
Tumpang tindih
Attrs Overlapping( bool x )
PseudoAcak
Attrs PseudoRandom( bool x )
Benih
Attrs Seed( int64 x )
Benih 2
Attrs Seed2( int64 x )