首页 > 解决方案 > 如何将四个二进制 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 模型架构以提高准确性,或者给我链接到更多垃圾邮件、种族主义和性检测数据集,那就太好了。

标签: pythonkeras

解决方案


推荐阅读