ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

tensorflow :: ops :: Kesirli MaxHavuzu

#include <nn_ops.h>

Girişte kesirli maksimum havuzlama gerçekleştirir.

Özet

Kesirli maks. Havuzlama, normal maks. Havuzlamadan biraz farklıdır. Normal maks. Havuzlamada, kümenin daha küçük N x N alt bölümlerinin (genellikle 2x2) maksimum değerini alarak bir giriş kümesini küçültün ve kümeyi, N'nin bir tamsayı olduğu bir N faktörü kadar azaltmaya çalışın. Kesirli maksimum havuzlama, "kesirli" kelimesinden bekleyebileceğiniz gibi, genel indirgeme oranının N bir tam sayı olması gerekmediği anlamına gelir.

Havuz bölgelerinin boyutları rastgele oluşturulur, ancak oldukça tekdüzedir. Örneğin, yükseklik boyutuna ve havuz sınırları olacak satırlar listesindeki kısıtlamalara bakalım.

İlk önce aşağıdakileri tanımlıyoruz:

  1. input_row_length: girdi kümesindeki satır sayısı
  2. output_row_length: girdiden daha küçük olacaktır
  3. alpha = input_row_length / output_row_length: bizim azaltma oranımız
  4. K = kat (alfa)
  5. row_pooling_sequence: bu, havuz sınırı satırlarının sonuç listesidir

Ardından, row_pooling_sequence şunları sağlamalıdır:

  1. a [0] = 0: dizinin ilk değeri 0'dır
  2. a [bitiş] = 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 boyutudur
  4. uzunluk (row_pooling_sequence) = output_row_length + 1

Kesirli maksimum havuzlama hakkında daha fazla ayrıntı için bu makaleye bakın: Benjamin Graham, Kesirli Maks- Havuz

Argümanlar:

  • kapsam: Bir Scope nesnesi
  • değer: 4 boyutlu [batch, height, width, channels] .
  • pooling_ratio: her boyut için oranı havuzu oluşturma value , şu anda sadece satır ve sütun boyutu destekler ve> = 1.0 olması gerekir. Örneğin, geçerli bir havuzlama oranı [1.0, 1.44, 1.73, 1.0] gibi görünür. Toplu işlem ve kanal boyutlarında havuzlamaya izin vermediğimiz için ilk ve son öğeler 1.0 olmalıdır. 1,44 ve 1,73, sırasıyla yükseklik ve genişlik boyutlarında havuzlama oranıdır.

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

  • pseudo_random: True olarak ayarlandığında, havuzlama sırasını sözde rasgele, aksi takdirde rasgele bir şekilde oluşturur. Sözde rasgele ve rasgele arasındaki fark için Benjamin Graham, Kesirli Maks-Havuzlama kağıdına bakın.
  • örtüşen: True olarak ayarlandığında, havuzlama yapılırken, 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 dizisi [0, 2, 4] ise, dizin 2'de 16 iki kez kullanılacaktır. Kesirli maksimum havuzlama için sonuç [20, 16] olacaktır.

  • deterministik: True olarak ayarlandığında, hesaplama grafiğindeki FractionalMaxPool düğümü üzerinde yineleme yapılırken sabit bir havuzlama bölgesi kullanılır. Genellikle birim testinde FractionalMaxPool'u deterministik yapmak için kullanılır.
  • seed: Çekirdek veya tohum2 sıfırdan farklı olacak şekilde ayarlanmışsa, rastgele sayı oluşturucu verilen tohum tarafından tohumlanır. Aksi takdirde, rastgele bir tohumla tohumlanır.
  • seed2: Tohum çarpışmasını önlemek için ikinci bir tohum.

İadeler:

  • Output çıktısı: Kesirli maks. Havuzlamadan sonra çıktı tensörü.
  • Row_pooling_sequence Output : gradyanı hesaplamak için gereken satır havuzlama dizisi.
  • Output col_pooling_sequence: kolon havuzu dizisi hesaplamak gradyanı gerekiyordu.

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

FractionalMaxPool için isteğe bağlı öznitelik belirleyicileri.

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

Kamusal işlevler

Kesirli MaxHavuzu

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

Kesirli MaxHavuzu

 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özde Rastgele

Attrs PseudoRandom(
  bool x
)

Tohum

Attrs Seed(
  int64 x
)

Tohum2

Attrs Seed2(
  int64 x
)