【发布时间】:2020-05-14 15:31:47
【问题描述】:
如果我有一个 1X2X3X3 输入(我首先使用通道)和权重 2X2X2X2,如下图所示,我不太了解 Keras Conv2D 输出,有人可以帮我理解输出特征图,过滤器如何卷积通过输入得到输出?
这是我的代码:
import os
import tensorflow as to
import tensorflow.python.util.deprecation as deprecation
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv1D, Conv2D
data = tf.range(3 * 3 * 2)
print(data)
data = tf.reshape(data, (1, 2, 3, 3))
print(data)
print('-------')
e = tf.range(2 * 2 * 2 * 2)
print(e)
e = tf.reshape(e, (2, 2, 2, 2))
print(e)
print('-------')
model = Sequential()
model.add(Conv2D(2, (2, 2), input_shape=(2, 3, 3), data_format='channels_first'))
weights = [e, tf.constant([0.0,0.0])]
model.set_weights(weights)
print(model.get_weights())
yhat = model.predict(data)
print(yhat.shape)
print(yhat)
【问题讨论】:
标签: tensorflow keras conv-neural-network