def build_model():
model = Sequential()
# model.add(Convolution1D(16, 2, border_mode='valid', input_shape=(20, 1)))
# model.add(Activation('relu'))
# model.add(Convolution1D(32, 3, border_mode='valid'))
# model.add(Activation('relu'))
# model.add(Convolution1D(32, 2, border_mode='valid'))
# model.add(Activation('relu'))
# model.add(MaxPooling1D(pool_length=2))
# model.add(Flatten())
# model.add(Dense(32))
# model.add(Activation('relu'))
# model.add(Reshape((32, 1)))
model.add(LSTM(input_dim=1, output_dim=16, activation='relu', return_sequences=True))
model.add(Dropout(0.2)) # Dropout overfitting
model.add(LSTM(32, activation='relu', return_sequences=False))
model.add(Dropout(0.2)) # Dropout overfitting
# model.add(Dense(64))
# model.add(Activation("relu"))
# model.add(Dropout(0.2)) # Dropout overfitting
model.add(Dense(64))
model.add(Activation("softmax"))
start = time.time()
# sgd = SGD(lr=0.5, decay=1e-6, momentum=0.9, nesterov=True)
# model.compile(loss="mse", optimizer=sgd)
model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=['accuracy']) # Nadam RMSprop()
print "Compilation Time : ", time.time() - start
return model
评论列表
文章目录