我在第一个数据集上训练了LeNet架构。我想通过使用从LeNet获得的权重初始化VGG的权重来在其他数据集上训练VGG架构。
keras中的所有初始化函数都是预定义的,我找不到如何对其进行自定义。例如:
keras.initializers.Zeros()
有什么想法可以设置权重吗?
答案 0 :(得分: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 )
当然,您需要确保将每层的权重设置为应具有的适当形状。