CNN图层如何添加偏差值?

时间:2017-03-17 23:46:39

标签: python tensorflow theano keras conv-neural-network

我需要将我的CNN模型编写为Theano函数,我的权重已由Keras设置(Tensorflow作为后端),但我不确定如何添加与每个图层关联的偏差值。

此解决方案How can I get a 1D convolution in theano可以很好地将单个图层编写为Theano函数,但我需要将权重与每个图层的偏差进行叠加

我的代码的简化版本:

model = Sequential([

    InputLayer(batch_input_shape=(None,100,1)),
    Convolution1D(nb_filter=16, filter_length=8, activation='relu', border_mode='same', init='he_normal', input_shape=(None,100,1)),
    Convolution1D(nb_filter=32, filter_length=8, activation='relu', border_mode='same', init='he_normal'), 
    MaxPooling1D(pool_length=4),
    Flatten(),
    Dense(output_dim=32, activation='relu', init='he_normal'),
    Dense(output_dim=1, input_dim=32, activation='linear'),
])

如何将偏差权重添加到CNN图层?

例如,我的第一层的权重具有:(8,1,1,16)

尺寸偏差:(16,)

这很容易连接在一起以获得尺寸:(9,1,1,16)

但是对于下一层我有尺寸:(8,1,16,32)

偏向尺寸:(32,)

如何将其合并为一个权重矩阵?要加入Theano T.signal.conv.conv2d函数?

0 个答案:

没有答案