tensorflow::ops::FractionalMaxPool

#include <nn_ops.h>

Giriş verileri üzerinde kesirli maksimum havuzlama işlemi gerçekleştirir.

Özet

Kesirli maksimum havuzlama, normal maksimum havuzlamadan biraz farklıdır. Normal maksimum havuzlamada, bir giriş kümesini, kümenin daha küçük N x N alt bölümlerinin (genellikle 2x2) maksimum değerini alarak küçültürsünüz ve kümeyi N faktörüyle küçültmeye çalışırsınız; burada N bir tam sayıdır. Kesirli maksimum havuzlamada, "kesirli" kelimesinden de tahmin edebileceğiniz gibi, genel küçültme oranı N'nin bir tam sayı olması gerekmez.

Birleştirme bölgelerinin boyutları rastgele oluşturulur ancak oldukça homojendir. Örneğin, yükseklik boyutuna ve birleştirme sınırları olacak satır listesindeki kısıtlamalara bakalım.

Öncelikle şunları tanımlıyoruz:

  1. input_row_length: Giriş veri setindeki satır sayısı
  2. output_row_length: girişten daha küçük olacaktır.
  3. alfa = giriş_satır_uzunluğu / çıkış_satır_uzunluğu : azaltma oranımız
  4. K = taban(alfa)
  5. row_pooling_sequence: Bu, havuz sınır satırlarının sonuç listesidir.

Ardından, row_pooling_sequence aşağıdaki koşulları sağlamalıdır:

  1. a[0] = 0 : dizinin ilk değeri 0'dır
  2. a[end] = input_row_length : dizinin son değeri boyuttur
  3. K <= (a[i+1] - a[i]) <= K+1 : tüm aralıklar K veya K+1 boyutundadır
  4. uzunluk(satır_havuzlama_dizisi) = çıktı_satır_uzunluğu+1

Kesirli maksimum havuzlama hakkında daha fazla bilgi için şu makaleye bakın: Benjamin Graham, Fractional Max-Pooling

Argümanlar:

  • kapsam: Bir Kapsam nesnesi
  • Değer: [batch, height, width, channels] şeklinde 4 boyutlu.
  • pooling_ratio: value her boyutu için havuzlama oranı, şu anda yalnızca satır ve sütun boyutlarını destekler ve 1.0'dan büyük veya eşit olmalıdır. Örneğin, geçerli bir havuzlama oranı [1.0, 1.44, 1.73, 1.0] gibi görünür. İlk ve son elemanlar 1.0 olmalıdır çünkü toplu işlem ve kanal boyutlarında havuzlamaya izin vermiyoruz. 1.44 ve 1.73 sırasıyla yükseklik ve genişlik boyutlarındaki havuzlama oranlarıdır.

İsteğe bağlı özellikler (bkz. Attrs ):

  • pseudo_random: True olarak ayarlandığında, havuzlama dizisini sözde rastgele bir şekilde oluşturur, aksi takdirde rastgele bir şekilde oluşturur. Sözde rastgele ve rastgele arasındaki fark için Benjamin Graham'ın "Fractional Max-Pooling" makalesine bakın.
  • Çakışma: True olarak ayarlandığında, havuzlama sırasında bitişik havuzlama hücrelerinin sınırındaki değerlerin her iki hücre tarafından da kullanılacağı anlamına gelir. Örneğin:

index 0 1 2 3 4

value 20 5 16 3 7

Eğer birleştirme dizisi [0, 2, 4] ise, 2. indeksteki 16 sayısı iki kez kullanılacaktır. Kesirli maksimum birleştirme için sonuç [20, 16] olacaktır.

  • Belirleyici: True olarak ayarlandığında, hesaplama grafiğindeki bir FractionalMaxPool düğümü üzerinde yineleme yapılırken sabit bir havuzlama bölgesi kullanılacaktır. Esas olarak birim testlerinde FractionalMaxPool'u belirleyici hale getirmek için kullanılır.
  • seed: Eğer seed veya seed2 sıfırdan farklı bir değere ayarlanırsa, rastgele sayı üreteci verilen seed değeriyle başlatılır. Aksi takdirde, rastgele bir seed değeriyle başlatılır.
  • seed2: Tohum çakışmasını önlemek için ikinci bir tohum.

İadeler:

  • Output : Kesirli maksimum havuzlama işleminden sonraki çıktı tensörü.
  • Output row_pooling_sequence: Gradyanı hesaplamak için gerekli olan satır birleştirme dizisi.
  • Output col_pooling_sequence: Gradyanı hesaplamak için gerekli olan sütun birleştirme dizisi.

Yapıcılar ve Yıkıcılar

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)

Genel özellikler

col_pooling_sequence
operation
output
row_pooling_sequence

Herkese açık statik fonksiyonlar

Deterministic (bool x)
Overlapping (bool x)
PseudoRandom (bool x)
Seed (int64 x)
Seed2 (int64 x)

Yapılar

tensorflow::ops::FractionalMaxPool::Attrs

FractionalMaxPool için isteğe bağlı öznitelik ayarlayıcıları.

Genel özellikler

sütun_havuzlama_dizisi

::tensorflow::Output col_pooling_sequence

operasyon

Operation operation

çıktı

::tensorflow::Output output

satır_havuzlama_sıralaması

::tensorflow::Output row_pooling_sequence

Kamusal işlevler

KesirliMaksimumHavuz

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio
)

KesirliMaksimumHavuz

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio,
  const FractionalMaxPool::Attrs & attrs
)

Herkese açık statik fonksiyonlar

Deterministik

Attrs Deterministic(
  bool x
)

Örtüşen

Attrs Overlapping(
  bool x
)

Sözde Rastgele

Attrs PseudoRandom(
  bool x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)