Ich versuche, Batch-Normalisierung in einem conv2d_transpose wie folgt zu verwenden:TensorFlow Batch Normalisierungs Dimension
h1 = tf.layers.conv2d_transpose(inputs, 64, 4, 2, padding='SAME',
kernel_initializer=tf.variance_scaling_initializer,
bias_initializer=tf.ones_initializer,
activity_regularizer=tf.layers.batch_normalization,
)
h2 = tf.layers.conv2d_transpose(h1, 3, 4, 2, padding='SAME',
kernel_initializer=tf.variance_scaling_initializer,
bias_initializer=tf.ones_initializer,
activity_regularizer=tf.layers.batch_normalization,
)
Und Ich erhalte den folgenden Fehler:
ValueError: Dimension 1 in both shapes must be equal, but are 32 and 64
From merging shape 2 with other shapes. for 'tower0/AddN' (op: 'AddN') with input shapes: [?,32,32,64], [?,64,64,3].
ich, dass andere Leute gesehen habe Ich hatte diesen Fehler in Keras wegen der unterschiedlichen Dimensionsreihenfolge zwischen TensorFlow und Theano. Allerdings verwende ich reines TensorFlow, alle meine Variablen sind im TensorFlow-Dimensionsformat (batch_size, height, width, channels)
, und die data_format
der Conv2D_Transpose-Ebene sollte die Standardeinstellung 'channels_last'
sein. Was fehlt mir hier?