我正在培训ML.Net机器学习模型.我可以训练它并从中预测,并从磁盘中保存/加载它.但我需要能够将其从磁盘上加载,然后重新训练,或者添加新信息以便随着时间的推移对其进行改进.
有谁知道这是否可能?我在MS文档中没有找到任何关于如何做到这一点的内容,但对于ML来说这是一个非常标准的事情,所以如果不可能的话我会感到惊讶.
谢谢
ML.NET中存在此功能,但现有LearningPipeline
API 无法实现.这将在新的ML.NET API中公开,可以在此处找到启用此方案的示例.相关代码是:
// Train the first predictor. var trainer = new LinearClassificationTrainer(env, new LinearClassificationTrainer.Arguments { NumThreads = 1 }, "Features", "Label"); var firstModel = trainer.Fit(trainData); // Train the second predictor on the same data. var secondTrainer = new AveragedPerceptronTrainer(env, new AveragedPerceptronTrainer.Arguments()); var trainRoles = new RoleMappedData(trainData, label: "Label", feature: "Features"); var finalModel = secondTrainer.Train(new TrainContext(trainRoles, initialPredictor: firstModel.Model));
这些API仍在不断变化,但这可能有所帮助.这还不是官方ML.NET版本的一部分,因此您需要从此处获取NuGet 或构建repo.
注意:我在ML.NET团队.