def train_lstm(dict,x,y,xt,yt):
model = Sequential()
model.add(Embedding(len(dict)+1, 256, input_length=maxlen))
model.add(LSTM(output_dim=128, activation='sigmoid', inner_activation='hard_sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(1))
# model.add(Dense(input_dim = 32, output_dim = 1))
model.add(Activation('sigmoid'))
print ('??????')
#model.compile(loss='binary_crossentropy', optimizer='adam', class_mode="binary")
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
print ("??????")
model.fit(x, y, batch_size=lstm_batch_size, epochs=lstm_epochs, verbose=0)
print ("??????")
print ("????")
yaml_string = model.to_yaml()
with open(modeldir + '/lstm.yml', 'w') as outfile:
outfile.write( yaml.dump(yaml_string, default_flow_style=True) )
model.save_weights(modeldir + '/lstm.h5')
print ("?????")
score = model.evaluate(xt, yt, verbose=0)
print ("???:",score[1])
return model
评论列表
文章目录