3

Ich bin neu in Faltungs neuronalen Netzen und in Tensorflow und ich brauche eine konv Schicht mit weiteren Parametern zu implementieren:CNN Implementierung mit tensorflow

Conv. Schicht1: Filter = 11, Kanal = 64, Schritt = 4, Relu.

Die API folgt:

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None) 

Ich verstehe, was Schritt ist und dass es sein sollte [1, 4, 4, 1] in meinem Fall. Aber ich verstehe nicht, wie ich einen Filterparameter und Padding übergeben soll. Könnte jemand damit helfen?

Antwort

3

Zunächst müssen Sie eine Filtervariable erstellen:

W = tf.Variable(tf.truncated_normal(shape = [11, 11, 3, 64], stddev = 0.1), tf.float32) 

Die ersten zwei Felder des Formparameters für Filtergröße, die dritte für die Anzahl der Eingangskanäle stehen (Ich denke, die Bilder haben 3 Kanäle) und vierte für die Anzahl der Ausgangskanäle.

Jetzt Ausgabe der Faltungs-Schicht berechnet werden könnten, wie folgt:

conv1 = tf.nn.conv2d(input, W, strides = [1, 4, 4, 1], padding = 'SAME'), wo padding = 'SAME' steht für Zero-Padding und damit Größe des Bildes bleibt die gleiche, Eingangsgröße haben sollte [batch, size1, size2, 3] .

relu Anwendung ist ziemlich einfach:

conv1 = tf.nn.relu(conv1) 
Verwandte Themen