Heim >Backend-Entwicklung >Python-Tutorial >Eine kurze Diskussion über die Tensorflow1.0-Pooling-Schicht (Pooling) und die vollständig verbundene Schicht (dicht)
In diesem Artikel werden hauptsächlich die Pooling-Schicht (Pooling) und die vollständig verbundene Schicht (Dense) von tensorflow1.0 vorgestellt. Jetzt teile ich sie mit Ihnen und gebe Ihnen eine Referenz. Werfen wir gemeinsam einen Blick darauf
Die Pooling-Schicht ist in tensorflow/python/layers/pooling.py definiert.
Es gibt maximales Pooling und mittleres Pooling.
1. tf.layers.max_pooling2d
max_pooling2d( inputs, pool_size, strides, padding='valid', data_format='channels_last', name=None )
Eingaben: Gepoolte Daten.
pool_size: Pool-Kerngröße (pool_height, pool_width), z. B. [3, 3] Wenn Länge und Breite gleich sind, kann sie auch direkt auf eine Zahl festgelegt werden, z as pool_size=3.
Schritte: Der gleitende Schritt des Poolings. Es kann auf zwei Ganzzahlen wie [1,1] gesetzt werden. Es kann auch direkt auf eine Zahl gesetzt werden, wie zum Beispiel strides=2
padding: edge padding, 'same' und 'gültig' Wählen Sie eine aus. Der Standardwert ist gültig
data_format: Eingabedatenformat, der Standardwert ist „channels_last“, also (Batch, Höhe, Breite, Kanäle), er kann auch auf „channels_first“ entsprechend (batch) eingestellt werden , Kanäle, Höhe, Breite ).
Name: Der Name der Ebene.
Beispiel:
pool1=tf.layers.max_pooling2d(inputs=x, pool_size=[2, 2], strides=2)
wird normalerweise nach der Faltungsschicht platziert, wie zum Beispiel:
conv=tf.layers.conv2d( inputs=x, filters=32, kernel_size=[5, 5], padding="same", activation=tf.nn.relu) pool=tf.layers.max_pooling2d(inputs=conv, pool_size=[2, 2], strides=2)
2.tf.layers.average_pooling2d
average_pooling2d( inputs, pool_size, strides, padding='valid', data_format='channels_last', name=None )
Die Parameter sind die gleichen wie beim vorherigen maximalen Pooling.
Die vollständig verbundene dichte Schicht ist in tensorflow/python/layers/core.py definiert.
tf.layers.dense
dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, trainable=True, name=None, reuse=None )
Eingaben: Eingabedaten, zweidimensionaler Tensor.
Einheiten: die Anzahl der neuronalen Einheitsknoten darin Schicht.
Aktivierung: Aktivierungsfunktion.
use_bias: Boolescher Typ, ob der Bias-Term verwendet werden soll.
kernel_initializer: Initialisierer des Faltungskerns.
bias_initializer: Initialisierer des Bias-Terms, die Standardinitialisierung ist 0.
kernel_regularizer : Regularisierung des Faltungskerns, optional.
bias_regularizer: Regularisierung des Bias-Terms, optional.
activity_regularizer: Ausgabe-Regularisierungsfunktion.
trainierbar: Boolescher Typ, der angibt, ob die Parameter dieser Ebene am Training teilnehmen. Wenn true, wird die Variable zur Diagrammsammlung GraphKeys.TRAINABLE_VARIABLES hinzugefügt (siehe tf.Variable).
Name: Der Name der Ebene.
Wiederverwendung: Boolescher Typ, ob Parameter wiederverwendet werden sollen.
Vollständig verbundene Schichtausführungsvorgangsausgaben = Aktivierung (inputs.kernel + Bias)
Wenn das Ausführungsergebnis Wenn Sie den Aktivierungsvorgang nicht durchführen möchten, setzen Sie „activation=None“.
Beispiel:
#全连接层 dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu) dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu) logits= tf.layers.dense(inputs=dense2, units=10, activation=None)
Sie können auch die Parameter der vollständig verbundenen Schicht regulieren:
Kopieren Sie den CodeDer Code lautet wie folgt:
dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu,kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003))
Verwandte Empfehlungen:
Eine kurze Diskussion zum Speichern und Wiederherstellen des Tensorflows Modell
Detaillierte Erläuterung der drei Möglichkeiten zum Laden von Daten in Tensorflow
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Tensorflow1.0-Pooling-Schicht (Pooling) und die vollständig verbundene Schicht (dicht). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!