大家好,又见面了,我是你们的朋友全栈君。
def LSTM_Classifier(train, trainLabel, test, testLabel, val_test, val_label, new_test=None):
train, test = np.array(train), np.array(test)
train, test = train.reshape(train.shape[0], 1, train.shape[1]), test.reshape(test.shape[0], 1, test.shape[1])
val_test = np.array(val_test)
val_test = val_test.reshape(val_test.shape[0], 1, val_test.shape[1])
new_test = np.array(new_test)
new_test = new_test.reshape(new_test.shape[0], 1, new_test.shape[1])
trainLabel = np_utils.to_categorical(trainLabel)
val_label = np_utils.to_categorical(val_label)
# 单向LSTM
model = Sequential()
model.add(LSTM(360, activation='relu', input_shape=(train.shape[1], train.shape[2])))
model.add(Dense(1024,activation='relu'))
model.add(LeakyReLU(alpha=0.001))
model.add(Dropout(0.4))
model.add(Dense(2, activation='sigmoid'))
# 双向LSTM
# model = Sequential()
# model.add(Bidirectional(LSTM(160,activation='relu', return_sequences=True), input_shape=(train.shape[1], train.shape[2])))
# model.add(Bidirectional(LSTM(160, activation='relu')))
#
# model.add(Dense(2, activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(train, trainLabel, batch_size=10, epochs=10, verbose=0, validation_data=(val_test, val_label), shuffle=True)
pred_1 = model.predict_classes(test)
pred_2 = model.predict_classes(new_test)
return pred_1, pred_2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195097.html原文链接:https://javaforall.cn