tensor akışı:: işlem:: FraksiyonelMaksimumHavuz
#include <nn_ops.h>
Girişte kesirli maksimum havuzlama gerçekleştirir.
Özet
Kesirli maksimum havuzlama, normal maksimum havuzlamadan biraz farklıdır. Normal maksimum havuzlamada, kümenin daha küçük N x N alt bölümlerinin (genellikle 2x2) maksimum değerini alarak bir girdi kümesinin boyutunu küçültürsünüz ve kümesi, N'nin bir tam sayı olduğu bir N faktörü kadar azaltmaya çalışırsınız. Kesirli maksimum havuzlama, "kesirli" kelimesinden beklediğiniz gibi, genel indirgeme oranı N'nin bir tam sayı olması gerekmediği anlamına gelir.
Havuzlama bölgelerinin boyutları rastgele oluşturulur ancak oldukça aynıdır. Örneğin havuz sınırı olacak satırların listesindeki yükseklik boyutuna ve kısıtlamalara bakalım.
İlk önce aşağıdakileri tanımlıyoruz:
- input_row_length : giriş kümesindeki satır sayısı
- çıktı_satır_uzunluğu : girişten daha küçük olacak
- alfa = girdi_satır_uzunluğu / çıktı_satır_uzunluğu : azaltma oranımız
- K = kat(alfa)
- row_pooling_sequence : havuz sınırı satırlarının sonuç listesidir
O halde row_pooling_sequence şunu karşı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_havuzu_dizisi) = çıktı_satır_uzunluğu+1
Kesirli maksimum havuzlama hakkında daha fazla ayrıntı için şu makaleye bakın: Benjamin Graham, Fractional Max-Pooling
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- değer: şekilli 4-D
[batch, height, width, channels]
. - pooling_ratio:
value
her boyutu için havuzlama oranı, şu anda yalnızca satır ve sütun boyutunu desteklemektedir ve >= 1,0 olmalıdır. Örneğin, geçerli bir havuzlama oranı [1,0, 1,44, 1,73, 1,0] gibi görünür. Toplu iş ve kanal boyutlarında havuzlamaya izin vermediğimiz için ilk ve son öğelerin 1,0 olması gerekir. 1,44 ve 1,73 sırasıyla yükseklik ve genişlik boyutlarının havuzlanma oranıdır.
İsteğe bağlı özellikler (bkz. Attrs
):
- pseudo_random: True olarak ayarlandığında, havuzlama sırasını sözde rastgele bir biçimde, aksi takdirde rastgele bir biçimde oluşturur. Sahte rastgele ve rastgele arasındaki fark için Benjamin Graham, Kesirli Maksimum Havuzlama makalesini kontrol edin.
- örtüşen: Doğru 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ıldığı anlamına gelir. Örneğin:
index 0 1 2 3 4
value 20 5 16 3 7
Havuzlama sırası [0, 2, 4] ise, indeks 2'deki 16 iki kez kullanılacaktır. Kesirli maksimum havuzlama için sonuç [20, 16] olacaktır.
- deterministik: Doğru olarak ayarlandığında, hesaplama grafiğindeki FractionalMaxPool düğümü üzerinde yineleme yapılırken sabit bir havuzlama bölgesi kullanılacaktır. Temel olarak FractionalMaxPool'u deterministik hale getirmek için birim testinde kullanılır.
- tohum: Tohum veya tohum2'den biri sıfırdan farklı olarak ayarlanırsa, rastgele sayı üreteci verilen tohum tarafından tohumlanır. Aksi takdirde rastgele bir tohumla tohumlanır.
- tohum2: Tohum çarpışmasını önlemek için ikinci bir tohum.
İade:
-
Output
çıkışı: kesirli maksimum havuzlama sonrasında çıkış tensörü. -
Output
row_pooling_sequence: satır havuzlama sırası, degradeyi hesaplamak için gerekli. -
Output
col_pooling_sequence: sütun havuzlama sırası, degradeyi hesaplamak için gerekli.
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 |
Genel statik işlevler | |
---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) |
Yapılar | |
---|---|
tensorflow:: ops:: FractionalMaxPool:: Öznitelikler | FractionalMaxPool için isteğe bağlı öznitelik ayarlayıcılar. |
Genel özellikler
col_pooling_sequence
::tensorflow::Output col_pooling_sequence
operasyon
Operation operation
çıktı
::tensorflow::Output output
row_pooling_sequence
::tensorflow::Output row_pooling_sequence
Kamu işlevleri
FraksiyonelMaksimumHavuz
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
FraksiyonelMaksimumHavuz
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
Genel statik işlevler
Deterministik
Attrs Deterministic( bool x )
Örtüşen
Attrs Overlapping( bool x )
SözdeRastgele
Attrs PseudoRandom( bool x )
Tohum
Attrs Seed( int64 x )
Tohum2
Attrs Seed2( int64 x )