python - 如何将四个二进制 keras 模型合并为一个(相同的输入,但 4 个不同的输出)
问题描述
我正在尝试创建一个“文本”分类器。我有一个带标签的数据集,其中包含“垃圾邮件”、“种族主义”、“性”、“侮辱”等值。
我有2 million labelled examples of Insult category
30K labelled examples of Sexual category
20K Labelled examples of Racism category
50k labelled examples of Spam category
我创建了这个模型(二进制):
inp1 = Input(shape=(max_len,))
e1 = Embedding(max_features+1, dim, weights=[glove_matrix],trainable = False,)(inp1)
x = CuDNNLSTM(max_len)(e1)
x = Dense(100, activation="relu",)(x)
x = Dropout(0.2)(x)
x = Dense(1, activation='sigmoid',kernel_regularizer=regularizers.l2(0.0001))(x)
checkpoint = ModelCheckpoint('spamModelv1.h5' , monitor='val_acc', save_best_only = True, mode ='auto')
callbacks_list = [checkpoint,EarlyStopping(patience=10,monitor='val_acc')]
model.fit(x_train,y_train,
batch_size=128,
validation_data=(x_test, y_test),
epochs=1000,
callbacks=callbacks_list)
目前,我有 4 个不同的模型,用于 4 个不同的类别。这降低了模型推理速度。我怎样才能合并它们?
题外话:如果你能改进我的 LSTM 模型架构以提高准确性,或者给我链接到更多垃圾邮件、种族主义和性检测数据集,那就太好了。