如何在Keras的Convolution2D中设置初始权重?

时间:2016-10-26 08:12:32

标签: machine-learning keras keras-layer

添加Convolution2D层的语法是Keras https://keras.io/layers/convolutional/#convolution2d。我无法通过"权重"正确的说法。我该怎么做?

2 个答案:

答案 0 :(得分:0)

您应该传递numpy数组列表以设置为初始权重。

对于Convolution2D,权重列表包含两个项目,一个为(nb_filter, nb_channel, nb_row, nb_col)形状,形状为(nb_filter,)

据Keras的作者说:

  

如果你对这些形状有什么疑问,你可以简单地说   实例化你的图层,然后调用get_weights(),然后查看   输出。参数权重,以及方法   set_weights(weights),期望与输出格式完全相同   get_weights()

答案 1 :(得分:0)

conv1_1 = Conv2D(64, kernel_size=(3, 3), activation='relu', padding='same',
                            weight_and_bias=[weight, biases], name='conv1_1')(input)

重量的形状是(nb_filter,nb_channel,filter_size,filter_size),偏差的形状是(nb_channel,)