如何在keras中通过numpy数组初始化图层

时间:2017-02-28 14:02:36

标签: initialization keras convolution

我想将预先训练好的caffe模型转换为keras,然后我需要逐层初始化图层。 我将权重和偏差保存在mat文件中,然后将它们加载到python工作区。 我知道"权重"参数得到numpy数组但不怎么样? 谢谢

1 个答案:

答案 0 :(得分:4)

您可以在Keras Layers Documentation中获取有关如何设置模型权重的更多信息。基本上你使用:

  

layer.set_weights(weights):从Numpy数组列表中设置图层的权重(形状与get_weights的输出相同)。

或者您可以在创建图层时直接初始化它们。每个图层都有一个参数weights,您可以使用numpy数组进行设置。阅读each layer's documentation以提供正确的权重格式。例如,Dense()图层接受参数weights的此格式:

  

要设置为初始权重的Numpy数组列表。该列表应具有2个元素,分别为权重和偏差的形状(input_dim,output_dim)和(output_dim)。 source