Keras - CNN模型总结维度解释

时间:2017-01-26 09:06:18

标签: python deep-learning keras convolution

我正在使用Keras库来构建这个深度学习模型:INPUT(深度= 1,高度= 15,宽度= 27) - > CONV [depth = 8](高度= 4,宽度= 27) - > POOL(高度= 2,宽度= 1) - > (回归)输出。

我希望convolution2d_1的输出形状为(None,8,12,1),因此pooling2d_1的输出形状为(None,8,6,1);我分别得到(无,8,15,27)和(无,8,7,27)。

我在这里做什么或解释错误?

P.S。:此外,此设置给出了基线错误:99.23%!

print "SHAPE OF INPUT IS:", num_train_3D, depth, height, width
inp = Input(shape=(depth, height, width)) 
conv_1 = Convolution2D(8, 4, 27, border_mode='same', activation='relu')(inp)
pool_1 = MaxPooling2D(pool_size=(2, 1))(conv_1)
''' Now flatten to 1D, apply FC -> ReLU (with dropout) -> softmax '''
flat = Flatten()(pool_1)
out = Dense(1)(flat)  #regression

model = Model(input=inp, output=out) # To define a model, just specify its input and output layers

print "Model Summary:"
print model.summary()

=====================================

SHAPE OF INPUT IS: 53745 1 15 27
Model Summary:
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to                     
====================================================================================================
input_1 (InputLayer)             (None, 1, 15, 27)     0                                            
____________________________________________________________________________________________________
convolution2d_1 (Convolution2D)  (None, 8, 15, 27)     872         input_1[0][0]                    
____________________________________________________________________________________________________
maxpooling2d_1 (MaxPooling2D)    (None, 8, 7, 27)      0           convolution2d_1[0][0]            
____________________________________________________________________________________________________
flatten_1 (Flatten)              (None, 1512)          0           maxpooling2d_1[0][0]             
____________________________________________________________________________________________________
dense_1 (Dense)                  (None, 1)             1513        flatten_1[0][0]                  
====================================================================================================
Total params: 2,385
Trainable params: 2,385
Non-trainable params: 0

1 个答案:

答案 0 :(得分:2)

border_mode='same'更改为border_mode='valid'。边界模式same向输入添加零填充以确保卷积层的输出具有与其输入相同的形状。使用边框模式valid仅在输入和滤镜完全重叠的位置执行卷积。