Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tensorflow :: ops :: FractionalMaxPool

#include <nn_ops.h>

Esegue il raggruppamento massimo frazionario sull'input.

Sommario

Il pooling massimo frazionario è leggermente diverso dal pool massimo normale. Nel regolare max pooling, ridimensionate un set di input prendendo il valore massimo delle sottosezioni N x N più piccole del set (spesso 2x2) e provate a ridurre il set di un fattore N, dove N è un numero intero. Il raggruppamento massimo frazionario, come ci si potrebbe aspettare dalla parola "frazionario", significa che il rapporto di riduzione complessivo N non deve essere un numero intero.

Le dimensioni delle regioni di pooling vengono generate in modo casuale ma sono abbastanza uniformi. Ad esempio, esaminiamo la dimensione dell'altezza e i vincoli nell'elenco di righe che saranno i limiti del pool.

Per prima cosa definiamo quanto segue:

  1. input_row_length: il numero di righe dal set di input
  2. output_row_length: che sarà più piccolo dell'input
  3. alpha = input_row_length / output_row_length: il nostro rapporto di riduzione
  4. K = piano (alfa)
  5. row_pool_sequence: questo è l'elenco dei risultati delle righe di confine del pool

Quindi, row_pool_sequence dovrebbe soddisfare:

  1. a [0] = 0: il primo valore della sequenza è 0
  2. a [end] = input_row_length: l'ultimo valore della sequenza è la dimensione
  3. K <= (a [i + 1] - a [i]) <= K + 1: tutti gli intervalli sono K o K + 1 dimensione
  4. length (row_pool_sequence) = output_row_length + 1

Per maggiori dettagli sul max pooling frazionario, vedere questo documento: Benjamin Graham, Fractional Max-Pooling

Argomenti:

  • scope: un oggetto Scope
  • valore: 4-D con forma [batch, height, width, channels] .
  • pooling_ratio: rapporto di pooling per ciascuna dimensione del value , attualmente supporta solo le dimensioni riga e colonna e dovrebbe essere> = 1.0. Ad esempio, un rapporto di pooling valido è simile a [1.0, 1.44, 1.73, 1.0]. Il primo e l'ultimo elemento devono essere 1.0 perché non è consentito il raggruppamento su dimensioni batch e canali. 1,44 e 1,73 rappresentano rispettivamente il rapporto di raggruppamento in altezza e larghezza.

Attributi opzionali (vedi Attrs ):

  • pseudo_random: se impostato su True, genera la sequenza di raggruppamento in modo pseudocasuale, altrimenti in modo casuale. Controlla il documento Benjamin Graham, Fractional Max-Pooling per la differenza tra pseudocasuale e casuale.
  • overlapping: quando è impostato su True, significa che durante il pooling, i valori al confine delle celle di pool adiacenti vengono utilizzati da entrambe le celle. Per esempio:

index 0 1 2 3 4

value 20 5 16 3 7

Se la sequenza di raggruppamento è [0, 2, 4], verrà utilizzato due volte 16, all'indice 2. Il risultato sarebbe [20, 16] per il raggruppamento massimo frazionario.

  • deterministico: se impostato su True, verrà utilizzata una regione di raggruppamento fissa durante l'iterazione su un nodo FractionalMaxPool nel grafico di calcolo. Utilizzato principalmente in unit test per rendere deterministico FractionalMaxPool .
  • seed: se seed o seed2 sono impostati su un valore diverso da zero, il generatore di numeri casuali viene sottoposto a seed dal seed specificato. Altrimenti, viene seminato da un seme casuale.
  • seed2: un secondo seme per evitare la collisione del seme.

Ritorna:

  • Output output: tensore di output dopo il raggruppamento massimo frazionario.
  • Output row_pool_sequence: sequenza di raggruppamento di righe, necessaria per calcolare il gradiente.
  • Output col_pool_sequence: sequenza di pool di colonne, necessaria per calcolare il gradiente.

Costruttori e distruttori

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)

Attributi pubblici

col_pooling_sequence
operation
output
row_pooling_sequence

Funzioni statiche pubbliche

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

Structs

tensorflow :: ops :: FractionalMaxPool :: Attrs

Setter attributi facoltativi per FractionalMaxPool .

Attributi pubblici

col_pooling_sequence

::tensorflow::Output col_pooling_sequence

operazione

Operation operation

produzione

::tensorflow::Output output

row_pooling_sequence

::tensorflow::Output row_pooling_sequence

Funzioni pubbliche

FractionalMaxPool

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

FractionalMaxPool

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

Funzioni statiche pubbliche

Deterministico

Attrs Deterministic(
  bool x
)

sovrapposizione

Attrs Overlapping(
  bool x
)

pseudocasuali

Attrs PseudoRandom(
  bool x
)

seme

Attrs Seed(
  int64 x
)

seed2

Attrs Seed2(
  int64 x
)