def __init__(self, **kwargs):
super(KerasCifar10CNN, self).__init__(**kwargs)
norm_shape = self.norm_shape
model = Sequential()
model.add(Conv2D(32, (3, 3), padding='same',
input_shape=(norm_shape[0], norm_shape[1], 1)))
model.add(Activation('relu'))
model.add(Conv2D(32, (3, 3), ))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2),))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), padding='same', ))
model.add(Activation('relu'))
model.add(Conv2D(64, (3, 3), ))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2),))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(self.max_n_label))
model.add(Activation('softmax'))
# initiate RMSprop optimizer
opt = keras.optimizers.rmsprop(lr=0.0001, decay=1e-6)
# Let's train the model using RMSprop
model.compile(loss='categorical_crossentropy',
optimizer=opt,
metrics=['accuracy'])
self.model = model
评论列表
文章目录