在Keras重量分享

问题描述 投票:0回答:1

我试图在下面的代码中使用两个名为dense3的相同权重。我知道使用dense3作为名称是不允许的,因为图层需要具有唯一的名称。

什么是最好的是在Keras中指定相同重量的不同层?

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation=tf.nn.relu,name='dense_1'),
    keras.layers.Dense(10, activation=tf.nn.relu, name='dense_2'),
    keras.layers.Dense(10, activation=tf.nn.relu,name='dense_3' ),
    keras.layers.Dense(10, activation=tf.nn.relu,name='dense_3' ),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])
keras share weight
1个回答
0
投票
sharedLayer = keras.layers.Dense(10, activation=tf.nn.relu,name='dense_3' )

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation=tf.nn.relu,name='dense_1'),
    keras.layers.Dense(10, activation=tf.nn.relu, name='dense_2'),
    sharedLayer,
    sharedLayer,
    keras.layers.Dense(10, activation=tf.nn.softmax)
])
© www.soinside.com 2019 - 2024. All rights reserved.