【问题标题】:How to set initial weights in Convolution2D in Keras?如何在 Keras 的 Convolution2D 中设置初始权重?
【发布时间】:2016-10-26 08:12:32
【问题描述】:

添加 Convolution2D 层的语法是 Keras 是 https://keras.io/layers/convolutional/#convolution2d。我无法正确传递“权重”参数。我该怎么做?

【问题讨论】:

    标签: machine-learning keras keras-layer


    【解决方案1】:
    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,)

    【讨论】:

      【解决方案2】:

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

      对于Convolution2D,权重列表有两项,一项在形状上(nb_filter, nb_channel, nb_row, nb_col),在形状上偏向(nb_filter,)

      根据 Keras 的作者:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-01
        • 2017-11-12
        • 2021-04-23
        • 2018-06-20
        • 2019-10-30
        • 2017-05-30
        • 1970-01-01
        • 2015-09-15
        相关资源
        最近更新 更多