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:

  1. input_row_length : giriş kümesindeki satır sayısı
  2. çıktı_satır_uzunluğu : girişten daha küçük olacak
  3. alfa = girdi_satır_uzunluğu / çıktı_satır_uzunluğu : azaltma oranımız
  4. K = kat(alfa)
  5. row_pooling_sequence : havuz sınırı satırlarının sonuç listesidir

O halde row_pooling_sequence şunu karşı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_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, Fraksiyonel Maksimum Havuzlama

Argümanlar:

  • kapsam: Bir Kapsam nesnesi
  • değer: şekilli 4-D [batch, height, width, channels] .
  • pooling_ratio: value öğesinin 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
)