0

我在第一个数据集上训练了 LeNet 架构。我想通过使用从 LeNet 获得的权重初始化 VGG 的权重,在另一个数据集上训练 VGG 架构。

keras 中的所有初始化函数都是预定义的,我找不到如何自定义它们。例如 :

keras.initializers.Zeros()

知道如何设置权重吗?

4

1 回答 1

0

https://keras.io/layers/about-keras-layers/

根据上面的 Keras 文档:

  • layer.set_weights(weights)从 Numpy 数组列表中设置层的权重
  • layer.get_weights()将层的权重作为 Numpy 数组的列表返回

因此,您可以按以下方式执行此操作:

model = Sequential()
model.add(Dense(32))
... building the model's layers ...

# access any nth layer by calling model.layers[n]
model.layers[0].set_weights( your_weights_here )

当然,您需要确保将每一层的权重设置为应有的适当形状。

于 2019-04-16T18:38:29.507 回答