tensorflow :: ops :: FractionalMaxPool

#include <nn_ops.h>

Melakukan penggabungan maks pecahan pada input.

Ringkasan

Penggabungan maks pecahan sedikit berbeda dari penggabungan maks biasa. Dalam penggabungan maks reguler, Anda mengurangi set input dengan mengambil nilai maksimum dari subbagian N x N yang lebih kecil dari himpunan (sering 2x2), dan mencoba mengurangi himpunan dengan faktor N, di mana N adalah bilangan bulat. Penggabungan maksimal pecahan, seperti yang Anda harapkan dari kata "pecahan", berarti bahwa rasio reduksi keseluruhan N tidak harus berupa bilangan bulat.

Ukuran wilayah penggabungan dibuat secara acak tetapi cukup seragam. Misalnya, mari kita lihat dimensi ketinggian, dan batasan pada daftar baris yang akan menjadi batas kumpulan.

Pertama kita tentukan yang berikut:

  1. input_row_length: jumlah baris dari set input
  2. output_row_length: yang akan lebih kecil dari input
  3. alpha = input_row_length / output_row_length: rasio pengurangan kami
  4. K = lantai (alfa)
  5. row_pooling_sequence: ini adalah daftar hasil dari baris batas pool

Kemudian, row_pooling_sequence harus memenuhi:

  1. a [0] = 0: nilai pertama deret adalah 0
  2. a [end] = input_row_length: nilai terakhir dari urutan adalah ukuran
  3. K <= (a [i + 1] - a [i]) <= K + 1: semua interval adalah ukuran K atau K + 1
  4. length (row_pooling_sequence) = output_row_length + 1

Untuk detail lebih lanjut tentang penggabungan maks pecahan, lihat makalah ini: Benjamin Graham, Fractional Max-Pooling

Argumen:

  • scope: Objek Scope
  • nilai: 4-D dengan bentuk [batch, height, width, channels] .
  • pooling_ratio: Rasio penggabungan untuk setiap dimensi value , saat ini hanya mendukung dimensi baris dan kolom dan harus> = 1,0. Misalnya, rasio penggabungan yang valid terlihat seperti [1.0, 1.44, 1.73, 1.0]. Elemen pertama dan terakhir harus 1.0 karena kami tidak mengizinkan penggabungan pada dimensi batch dan saluran. 1,44 dan 1,73 adalah rasio penggabungan pada dimensi tinggi dan lebar masing-masing.

Atribut opsional (lihat Attrs ):

  • pseudo_random: Jika disetel ke True, menghasilkan urutan penggabungan dalam gaya pseudorandom, jika tidak, secara acak. Periksa makalah Benjamin Graham, Fractional Max-Pooling untuk perbedaan antara pseudorandom dan random.
  • tumpang tindih: Saat disetel ke True, artinya saat menggabungkan, nilai di batas sel penggabungan yang berdekatan digunakan oleh kedua sel. Sebagai contoh:

index 0 1 2 3 4

value 20 5 16 3 7

Jika urutan penggabungan [0, 2, 4], maka 16, pada indeks 2 akan digunakan dua kali. Hasilnya akan menjadi [20, 16] untuk penggabungan maks pecahan.

  • deterministik: Jika disetel ke True, wilayah penggabungan tetap akan digunakan saat melakukan iterasi pada node FractionalMaxPool dalam grafik komputasi. Terutama digunakan dalam pengujian unit untuk membuat deterministik FractionalMaxPool .
  • benih: Jika salah satu benih atau benih2 ditetapkan menjadi bukan nol, generator nomor acak disemai oleh benih yang diberikan. Jika tidak, itu diunggulkan dengan benih acak.
  • seed2: Benih kedua untuk menghindari tumbukan benih.

Pengembalian:

  • Output keluaran: keluaran tensor setelah penggabungan maks pecahan.
  • Output row_pooling_sequence: urutan penggabungan baris, diperlukan untuk menghitung gradien.
  • Output col_pooling_sequence: urutan penyatuan kolom, diperlukan untuk menghitung gradien.

Pembuat dan Penghancur

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)

Structs

tensorflow :: ops :: FractionalMaxPool :: Attrs

Penyetel atribut opsional untuk FractionalMaxPool .

Atribut publik

col_pooling_sequence

::tensorflow::Output col_pooling_sequence

operasi

Operation operation

keluaran

::tensorflow::Output output

row_pooling_sequence

::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
)

PseudoRandom

Attrs PseudoRandom(
  bool x
)

Benih

Attrs Seed(
  int64 x
)

Benih2

Attrs Seed2(
  int64 x
)