Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ML.Net重新培训现有模型,而不是培训新模型_C#_.net_Ml.net_Ml.net Model Builder - Fatal编程技术网

C# ML.Net重新培训现有模型,而不是培训新模型

C# ML.Net重新培训现有模型,而不是培训新模型,c#,.net,ml.net,ml.net-model-builder,C#,.net,Ml.net,Ml.net Model Builder,我正在训练一个ML.Net机器学习模型。我可以对它进行训练和预测,并从磁盘上保存/加载它。但是我需要能够从磁盘上加载它,然后重新训练它,或者添加新的信息以随着时间的推移改进它 有人知道这是否可能吗?我在MS文档中没有找到任何关于如何做的内容,但这是ML的一个相当标准的东西,所以如果不可能的话,我会感到惊讶 感谢此功能存在于ML.NET中,但在现有的LearningPipelineAPI中无法实现。这将在新的ML.NET API中公开,并且可以找到支持此场景的示例。有关守则如下: // Train

我正在训练一个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或构建


注意:我是ML.NET团队的成员。

如果您最终查看了ML.NET,我建议您查看ML.NET模型生成器-有一个非常简单的方法。实际上,您可以下载一个VisualStudio扩展,它允许您使用GUI创建新模型。它甚至通过一系列机器学习算法来运行数据,并评估最精确的算法。创建模型后,VisualStudio扩展将生成用于创建模型的源代码,因此您可以准确地查看它所做的工作,并在需要时进行调整

它创建的模型可以在任何时候轻松地重新训练。您可以按照重新训练模型。您所需要做的就是加载它以前使用的模型和管道,然后通过它们运行一组新的数据。然后将重新训练的模型保存回磁盘


我在最初创建模型时通过将pipeline.zip文件保存到磁盘中发现了一个注意事项,这使得以后再培训时更加容易。

所以在ver
0.5.0
中,我们不能再培训模型?不能使用
LearningPipeline
API。ML.NET 0.6(即将推出)将启用此场景。我们现在的版本是1.1.0。。。你能确认这是否可用吗?(以及如何做到这一点)