【发布时间】:2016-10-26 08:12:32
【问题描述】:
添加 Convolution2D 层的语法是 Keras 是 https://keras.io/layers/convolutional/#convolution2d。我无法正确传递“权重”参数。我该怎么做?
【问题讨论】:
标签: machine-learning keras keras-layer
添加 Convolution2D 层的语法是 Keras 是 https://keras.io/layers/convolutional/#convolution2d。我无法正确传递“权重”参数。我该怎么做?
【问题讨论】:
标签: machine-learning keras keras-layer
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,)
【讨论】:
您应该传递一个numpy 数组列表以设置为初始权重。
对于Convolution2D,权重列表有两项,一项在形状上(nb_filter, nb_channel, nb_row, nb_col),在形状上偏向(nb_filter,)。
根据 Keras 的作者:
如果您对这些形状是什么有疑问,您可以简单地 实例化你的层然后调用
get_weights(),然后查看 输出。参数权重,以及方法set_weights(weights),期望与输出完全相同的格式get_weights().
【讨论】: