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 einen Eingabesatz, indem Sie den Maximalwert kleinerer N x N Unterabschnitte des Satzes (häufig 2x2) verwenden und versuchen, den Satz 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 darstellen.

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]. Das erste und das letzte Element müssen 1.0 sein, da wir kein Pooling für Batch- und Kanalabmessungen zulassen. 1,44 und 1,73 sind Pooling-Verhältnisse für Höhen- bzw. Breitenabmessungen.

Optionale Attribute (siehe Attrs ):

  • pseudo_random: Wenn diese Option auf True gesetzt ist, wird die Pooling-Sequenz pseudozufällig generiert, andernfalls auf zufällige Weise. Überprüfen Sie das Papier Benjamin Graham, Fractional Max-Pooling auf Unterschiede zwischen Pseudozufall und Zufall.
  • Überlappung: Wenn diese Option auf True gesetzt ist, bedeutet dies, dass beim Pooling die Werte an der Grenze benachbarter Pooling-Zellen von beiden Zellen verwendet werden. Beispielsweise:

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
)