【发布时间】:2017-03-04 23:52:31
【问题描述】:
我正在尝试使用 keras 设计一个神经网络。与定义的层相比,model.summary() 输出不同
import numpy as np
np.random.seed(1337)
from keras.models import Model
from keras.layers import Input, Convolution2D, MaxPooling2D, Activation, Flatten, merge
from keras import backend as K
K.set_image_dim_ordering('th')
input_shape = (3, 225, 225)
inp = Input(input_shape)
seq0 = MaxPooling2D(pool_size=(2, 2), strides=(2, 2), border_mode="same")(inp)
seq1 = Convolution2D(32, 1, 1, border_mode="same", activation="relu")(seq0)
seq2 = Convolution2D(32, 1, 1, border_mode="same", activation="relu")(seq1)
seq3 = merge([seq2, seq1], mode="concat", concat_axis=1)
seq4 = Convolution2D(32, 1, 1, border_mode="same", activation="relu")(seq3)
seq5 = merge([seq1, seq3], mode="concat", concat_axis=1)
seq6 = Convolution2D(128, 5, 5, border_mode="same", activation="relu")(seq5)
seq7 = merge([seq4, seq3], mode="concat", concat_axis=1)
seq8 = Convolution2D(512, 3, 3, border_mode="same", activation="relu")(seq7)
seq9 = merge([seq5, seq2], mode="concat", concat_axis=1)
seq = Flatten()(seq9)
out = Activation('softmax')(seq)
model = Model(input=inp, output=out)
model.summary()
model.summary() 输出
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_1 (InputLayer) (None, 3, 225, 225) 0
____________________________________________________________________________________________________
maxpooling2d_1 (MaxPooling2D) (None, 3, 113, 113) 0 input_1[0][0]
____________________________________________________________________________________________________
convolution2d_1 (Convolution2D) (None, 32, 113, 113) 128 maxpooling2d_1[0][0]
____________________________________________________________________________________________________
convolution2d_2 (Convolution2D) (None, 32, 113, 113) 1056 convolution2d_1[0][0]
____________________________________________________________________________________________________
merge_1 (Merge) (None, 64, 113, 113) 0 convolution2d_2[0][0]
convolution2d_1[0][0]
____________________________________________________________________________________________________
merge_2 (Merge) (None, 96, 113, 113) 0 convolution2d_1[0][0]
merge_1[0][0]
____________________________________________________________________________________________________
merge_4 (Merge) (None, 128, 113, 113) 0 merge_2[0][0]
convolution2d_2[0][0]
____________________________________________________________________________________________________
flatten_1 (Flatten) (None, 1634432) 0 merge_4[0][0]
____________________________________________________________________________________________________
activation_1 (Activation) (None, 1634432) 0 flatten_1[0][0]
====================================================================================================
model.summary() 输出中缺少 seq4、seq6、seq8 层。 我做错了吗?
【问题讨论】:
标签: python machine-learning deep-learning keras