当前位置:  开发笔记 > 编程语言 > 正文

ML.Net保留现有模型而不是培训新模型

如何解决《ML.Net保留现有模型而不是培训新模型》经验,为你挑选了1个好方法。

我正在培训ML.Net机器学习模型.我可以训练它并从中预测,并从磁盘中保存/加载它.但我需要能够将其从磁盘上加载,然后重新训练,或者添加新信息以便随着时间的推移对其进行改进.

有谁知道这是否可能?我在MS文档中没有找到任何关于如何做到这一点的内容,但对于ML来说这是一个非常标准的事情,所以如果不可能的话我会感到惊讶.

谢谢



1> 小智..:

ML.NET中存在此功能,但现有LearningPipelineAPI 无法实现.这将在新的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团队.


我们现在的版本为1.1.0 ...您可以确认是否可用吗?(以及如何完成)
推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有