Python 向预先训练的模型中添加数据

Python 向预先训练的模型中添加数据,python,keras,pre-trained-model,Python,Keras,Pre Trained Model,对于我正在使用的数据集,我已经使用Keras训练并保存了一个h5py模型。现在,我必须将新数据添加到预先训练的模型中,并在训练集中使用这些新数据。但我不想重新训练整个数据集,因为训练和保存模型已经花了大约7个小时。目前有哪些方法可用于将任何新数据添加到已训练的模型中 我不想对整个模型进行再培训,因为我没有要添加的大型数据集。由于时间限制,我希望在不从头开始训练模型的情况下包含新数据 如何添加这些新数据?我希望您使用model.save(),如果您使用了,那么您可以 from keras.mode

对于我正在使用的数据集,我已经使用Keras训练并保存了一个h5py模型。现在,我必须将新数据添加到预先训练的模型中,并在训练集中使用这些新数据。但我不想重新训练整个数据集,因为训练和保存模型已经花了大约7个小时。目前有哪些方法可用于将任何新数据添加到已训练的模型中

我不想对整个模型进行再培训,因为我没有要添加的大型数据集。由于时间限制,我希望在不从头开始训练模型的情况下包含新数据


如何添加这些新数据?

我希望您使用model.save(),如果您使用了,那么您可以

from keras.models import load_model
model=load_model(<your path>)

无论你想做什么

你都可以加载保存的权重,然后用新数据对其进行训练。我想这是迁移学习的典型案例。可以使用已训练的模型权重作为初始权重,使用新数据训练新模型。@SreeramTP说如果我保存权重并在新数据上训练,旧数据会保留吗?@Eswar在转移学习中,我们冻结最后一层并在新数据上训练,如果我没有错的话?但是,旧数据还会存在于模型中吗?我们从我们训练的模型中寻找的信息基本上是正确的。因此,在这种情况下,我认为它应该会起作用。是的,我已经保存了模型本身,现在的问题是,这是否会将新数据添加到预先训练的模型中。我可以确定使用新数据进行预测,但我需要将这些新的准确数据与现有模型一起输入到我的训练集中。如果您按照答案中的说明加载模型,那么它将如同您保存模型之前的模型一样,它可以使用您以前使用的训练方法训练更多数据,而不会出现任何问题,尽管是使用新数据集。
model.compile(optimizer='adam',loss='binary_crossentropy', metrics=['accuracy'])
model.fit(train_data, train_labels,epochs=epochs,batch_size=batch_size,validation_data=(validation_data, validation_labels))