Tensorflow.js tf.pool()-Funktion
Einführung: Tensorflow.js ist eine Open-Source-Bibliothek, die von Google entwickelt wurde, um maschinelle Lernmodelle sowie neuronale Deep-Learning-Netzwerke in der Browser- oder Nodeumgebung auszuführen.
Die Funktion .pool() wird verwendet, um eine ND-Pooling-Funktion auszuführen.
Syntax:
tf.pool(input, windowShape, poolingType, pad, dilations?, strides?)
Parameter:
- Eingabe: Der angegebene Eingabetensor, der entweder Rang 4 oder Rang 3 hat und die Form: [batch, height, width, inChannels]. Falls der Rang 3 ist, wird außerdem die Charge der Größe 1 angenommen. Es kann vom Typ tf.Tensor3D, tf.Tensor4D, TypedArray oder Array sein.
- windowShape: Die angegebene Filtergröße: [filterHeight, filterWidth]. Es kann vom Typ [Zahl, Zahl] oder Zahl sein. Falls filterSize eine einzelne Zahl ist, dann filterHeight == filterWidth.
- poolingType: Die angegebene Art des Poolings, es kann entweder „max“ oder „avg“ sein.
- pad: Der angegebene Algorithmustyp zum Auffüllen. Es kann vom Typ valid, same, number oder conv_util.ExplicitPadding sein.
- Hier hätte für Same und Stride 1 die Ausgabe die gleiche Größe wie die Eingabe, unabhängig von der Filtergröße.
- Für „gültig“ muss die Ausgabe kleiner als die Eingabe sein, falls die Filtergröße größer als 1*1×1 ist.
- Dilatationen: Die angegebenen Dilatationsraten: [dilationHeight, dilationWidth], indem die Eingabewerte sowohl über die Höhen- als auch über die Breitenabmessungen im dilatierten Pooling abgetastet werden. Der Standardwert ist [1, 1]. Falls Dilatationen eine einzelne Zahl sind, dann ist dilationHeight == dilationWidth. Und wenn es größer als 1 ist, sollten alle Werte der Schritte 1 sein. Es ist optional und vom Typ [Zahl, Zahl], Zahl.
- Strides: Die angegebenen Strides des Poolings: [strideHeight, strideWidth]. Falls strides eine singuläre Zahl ist, dann strideHeight == strideWidth. Es ist optional und vom Typ [Zahl, Zahl] oder Zahl.
Rückgabewert: Gibt tf.Tensor3D oder tf.Tensor4D zurück.
Beispiel 1:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining input tensor const x = tf.tensor3d([1, 2, 3, 4], [2, 2, 1]); // Calling pool() method const result = tf.pool(x, 3, 'avg', 'same', [1, 2], 1); // Printing output result.print();
Ausgabe:
Tensor [[[0.4444444], [0.6666667]], [[0.4444444], [0.6666667]]]
Beispiel 2:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Calling pool() method tf.tensor3d([1.2, 2.1, 3.0, -4], [2, 2, 1]).pool(3, 'conv_util.ExplicitPadding', 1, 1).print();
Ausgabe:
Tensor [[[3], [3]], [[3], [3]]]