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:
- input_row_length: Giriş veri setindeki satır sayısı
- output_row_length: girişten daha küçük olacaktır.
- alfa = giriş_satır_uzunluğu / çıkış_satır_uzunluğu : azaltma oranımız
- K = taban(alfa)
- 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:
- a[0] = 0 : dizinin ilk değeri 0'dır
- a[end] = input_row_length : dizinin son değeri boyuttur
- K <= (a[i+1] - a[i]) <= K+1 : tüm aralıklar K veya K+1 boyutundadır
- 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:
valueher 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ü. -
Outputrow_pooling_sequence: Gradyanı hesaplamak için gerekli olan satır birleştirme dizisi. -
Outputcol_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 )