Merken Sie den Termin vor! Google I / O kehrt vom 18. bis 20. Mai zurück Registrieren Sie sich jetzt
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Tensorflow :: ops :: FractionalMaxPool

#include <nn_ops.h>

Führt ein gebrochenes maximales Pooling für die Eingabe durch.

Zusammenfassung

Das fraktionierte maximale Pooling unterscheidet sich geringfügig vom regulären maximalen Pooling. Beim regulären Max-Pooling verkleinern Sie eine Eingabemenge, indem Sie den Maximalwert kleinerer N x N Unterabschnitte der Menge (häufig 2x2) verwenden und versuchen, die Menge um den Faktor N zu reduzieren, wobei N eine Ganzzahl ist. Fractional Max Pooling, wie Sie es vom Wort "Fractional" erwarten können, bedeutet, dass das Gesamtreduktionsverhältnis N keine ganze Zahl sein muss.

Die Größen der Pooling-Regionen werden zufällig generiert, sind jedoch ziemlich einheitlich. Schauen wir uns zum Beispiel die Höhenbemaßung und die Einschränkungen in der Liste der Zeilen an, die Poolgrenzen sein werden.

Zuerst definieren wir Folgendes:

  1. input_row_length: Die Anzahl der Zeilen aus dem Eingabesatz
  2. output_row_length: Dies ist kleiner als die Eingabe
  3. alpha = input_row_length / output_row_length: unser Reduktionsverhältnis
  4. K = Boden (Alpha)
  5. row_pooling_sequence: Dies ist die Ergebnisliste der Poolbegrenzungszeilen

Dann sollte row_pooling_sequence Folgendes erfüllen:

  1. a [0] = 0: Der erste Wert der Sequenz ist 0
  2. a [end] = input_row_length: Der letzte Wert der Sequenz ist die Größe
  3. K <= (a [i + 1] - a [i]) <= K + 1: Alle Intervalle haben die Größe K oder K + 1
  4. Länge (row_pooling_sequence) = output_row_length + 1

Weitere Informationen zum fraktionierten Max-Pooling finden Sie in diesem Dokument: Benjamin Graham, Fractional Max-Pooling

Argumente:

  • scope: Ein Scope- Objekt
  • Wert: 4-D mit Form [batch, height, width, channels] .
  • pooling_ratio: Pooling Verhältnis für jede Dimension der value , unterstützt derzeit nur ZEILE und SPALTE Dimension und sollte> = 1,0 sein. Ein gültiges Pooling-Verhältnis sieht beispielsweise wie folgt aus: [1,0, 1,44, 1,73, 1,0]. Die ersten und letzten Elemente müssen 1,0 sein, weil wir auf Chargen- und Kanäle Dimensionen Pooling nicht zulassen. 1,44 und 1,73 sind Pooling-Verhältnisse für Höhen- bzw. Breitenabmessungen.

Optionale Attribute (siehe Attrs ):

  • pseudo_random: Bei Einstellung auf True wird die Pooling-Sequenz pseudozufällig generiert, andernfalls auf zufällige Weise. Check Papier Benjamin Graham, Fractional Max-Pooling für Differenz zwischen Pseudo - Zufall und zufällig.
  • Überlappung: Wenn diese Option auf True gesetzt ist, werden beim Pooling die Werte an der Grenze benachbarter Pooling-Zellen von beiden Zellen verwendet. Zum Beispiel:

index 0 1 2 3 4

value 20 5 16 3 7

Wenn die Pooling-Sequenz [0, 2, 4] ist, wird 16 bei Index 2 zweimal verwendet. Das Ergebnis wäre [20, 16] für fraktioniertes maximales Pooling.

  • deterministisch: Wenn True festgelegt ist, wird beim Iterieren über einen FractionalMaxPool- Knoten im Berechnungsdiagramm ein fester Poolbereich verwendet. Wird hauptsächlich im Komponententest verwendet, um FractionalMaxPool deterministisch zu machen.
  • Startwert: Wenn entweder Startwert oder Startwert2 auf einen Wert ungleich Null gesetzt ist, wird der Zufallszahlengenerator durch den angegebenen Startwert festgelegt. Andernfalls wird es durch einen zufälligen Startwert ausgesät.
  • seed2: Ein zweiter Samen, um eine Samenkollision zu vermeiden.

Kehrt zurück:

  • Output Ausgang Tensor nach fraktioniertem max Pooling.
  • Output row_pooling_sequence: Zeilenpooling-Sequenz, die zur Berechnung des Gradienten benötigt wird.
  • Output col_pooling_sequence: Spaltenpooling-Sequenz, die zur Berechnung des Gradienten benötigt wird.

Konstruktoren und Destruktoren

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)

Öffentliche Attribute

col_pooling_sequence
operation
output
row_pooling_sequence

Öffentliche statische Funktionen

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

Strukturen

tensorflow :: ops :: FractionalMaxPool :: Attrs

Optionale Attributsetzer für FractionalMaxPool .

Öffentliche Attribute

col_pooling_sequence

::tensorflow::Output col_pooling_sequence

Operation

Operation operation

Ausgabe

::tensorflow::Output output

row_pooling_sequence

::tensorflow::Output row_pooling_sequence

Öffentliche Funktionen

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
)

Öffentliche statische Funktionen

Deterministisch

Attrs Deterministic(
  bool x
)

Überlappend

Attrs Overlapping(
  bool x
)

PseudoRandom

Attrs PseudoRandom(
  bool x
)

Samen

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)