我正在实现两个不同的keras层之间的自定义连接。神经网络开始如下:
at Stack.main(Stack.java:7)
现在,s2的输出大小为 14 * 14 * 6
在这里,我想将自定义连接应用于输出大小为10 * 10 * 16的卷积层c3(也就是说,需要在大小为14 * 14 * 6的s2上应用16个过滤器10 * 10 * 16)。为此,我需要使用model = tf.keras.Sequential()
c1 = model.add(Conv2D(6, kernel_size=[5,5], strides=(stride,stride), padding="valid", input_shape=(32,32,1),
activation = 'tanh'))
s2 = model.add(AveragePooling2D(pool_size=2, strides=2, padding='valid'))
,kernal_size = 5*5
,filers=16
和stride = 1
。
但是,(s2的)所有6个特征图都未连接到(c3)的16个特征图。有关连接的说明如here所示。
例如(上面给出的链接的说明),要构建第一个C3特征图,您需要将3个输入图(大小为14 * 14 * 6的s2)与5x5过滤器进行卷积,从而得到3 10x10汇总后得出的第一个要素地图,其大小为10x10。
我在某处读到,我们需要使用Functional API来构建它。
但是,我不确定如何继续进行。有人可以帮助实现这一点。
我实现此目标的最初方法如下:
padding=valid
我想知道我的方法是否正确(我知道不是因为我收到了太多错误)。因此,如上所述,在重新创建自定义连接时需要帮助。任何帮助表示赞赏。