我需要将我的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函数?