FractionalMaxPool

classe finale pubblica FractionalMaxPool

Esegue il pooling massimo frazionario sull'input.

Il pooling massimo frazionario è leggermente diverso dal pooling massimo normale. Nel normale pooling massimo, si ridimensiona un set di input prendendo il valore massimo delle sottosezioni N x N più piccole del set (spesso 2x2) e si tenta di ridurre il set di un fattore N, dove N è un numero intero. Il pooling 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 sull'elenco di righe che costituiranno i confini 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à inferiore all'input 3. alpha = input_row_length / output_row_length: il nostro rapporto di riduzione 4. K = floor(alpha) 5. row_pooling_sequence: questo è il risultato elenco delle righe di confine della piscina

Quindi, row_pooling_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_pooling_sequence) = output_row_length+1

Per ulteriori dettagli sul pooling massimo frazionario, vedere questo articolo: [Benjamin Graham, Fractional Max-Pooling](http://arxiv.org/abs/1412.6071)

Classi nidificate

classe FractionalMaxPool.Options Attributi facoltativi per FractionalMaxPool

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita < TInt64 >
colPoolingSequence ()
sequenza di pooling delle colonne, necessaria per calcolare il gradiente.
statico <T estende TNumber > FractionalMaxPool <T>
create (ambito ambito , valore operando <T>, elenco<float> poolingRatio, opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione FractionalMaxPool.
statico FractionalMaxPool.Options
deterministico (deterministico booleano)
Uscita <T>
produzione ()
tensore di output dopo il pooling massimo frazionario.
statico FractionalMaxPool.Options
sovrapposizione (sovrapposizione booleana)
statico FractionalMaxPool.Options
pseudoCasuale (pseudocasuale booleano)
Uscita < TInt64 >
rigaPoolingSequence ()
sequenza di pooling delle righe, necessaria per calcolare il gradiente.
statico FractionalMaxPool.Options
seme (seme lungo)
statico FractionalMaxPool.Options
seme2 (seme lungo2)

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "FractionalMaxPool"

Metodi pubblici

Output pubblico < TInt64 > colPoolingSequence ()

sequenza di pooling delle colonne, necessaria per calcolare il gradiente.

public static FractionalMaxPool <T> create ( ambito ambito , valore operando <T>, List<Float> poolingRatio, Opzioni... opzioni)

Metodo factory per creare una classe che racchiude una nuova operazione FractionalMaxPool.

Parametri
scopo ambito attuale
valore 4-D con forma "[lotto, altezza, larghezza, canali]".
rapporto di raggruppamento Rapporto di pooling per ciascuna dimensione di "valore", attualmente supporta solo la dimensione riga e colonna e dovrebbe essere >= 1,0. Ad esempio, un rapporto di pooling valido è [1.0, 1.44, 1.73, 1.0]. Il primo e l'ultimo elemento devono essere 1.0 perché non consentiamo il raggruppamento su dimensioni batch e canali. 1,44 e 1,73 sono rapporti di pooling rispettivamente sulle dimensioni di altezza e larghezza.
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di FractionalMaxPool

public static FractionalMaxPool.Options deterministico (deterministico booleano)

Parametri
deterministico Se impostato su True, verrà utilizzata una regione di pooling fissa durante l'iterazione su un nodo FractionalMaxPool nel grafico di calcolo. Utilizzato principalmente nel test unitario per rendere deterministico FractionalMaxPool.

Uscita pubblica <T> uscita ()

tensore di output dopo il pooling massimo frazionario.

public static FractionalMaxPool.Options sovrapposte (sovrapposizione booleana)

Parametri
sovrapposizione Se impostato su True, significa che durante il raggruppamento, i valori al confine delle celle di raggruppamento adiacenti vengono utilizzati da entrambe le celle. Per esempio:

"indice 0 1 2 3 4".

"valore 20 5 16 3 7".

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

public static FractionalMaxPool.Options pseudoRandom (booleano pseudoRandom)

Parametri
pseudoCasuale Se impostato su True, genera la sequenza di pooling in modo pseudocasuale, altrimenti in modo casuale. Controllare il documento [Benjamin Graham, Fractional Max-Pooling](http://arxiv.org/abs/1412.6071) per la differenza tra pseudocasuale e casuale.

output pubblico < TInt64 > rowPoolingSequence ()

sequenza di pooling delle righe, necessaria per calcolare il gradiente.

seme pubblico statico FractionalMaxPool.Options (seme lungo)

Parametri
seme Se seed o seed2 sono impostati su un valore diverso da zero, il generatore di numeri casuali viene seminato dal seed specificato. Altrimenti, viene seminato da un seme casuale.

pubblico statico FractionalMaxPool.Options seed2 (seme lungo2)

Parametri
seme2 Un secondo seme per evitare la collisione dei semi.