指定ML.NET模型的训练持续时间

时间:2020-03-23 23:01:53

标签: c# ml.net

这可能是一个显而易见的问题,但我似乎在ML.NET Microsoft文档中找不到任何内容。

我一直在尝试进入ML.NET框架,并且文档始终遵循相同的基本过程,即创建一个估计器链并将该链拟合到数据,从本质上训练模型。 / p>

文档还指定您应该尝试不同的培训时间,这就是我的问题所在:您如何指定培训时间?每当我在文档中发现“训练”方法时,它总是很简单

ITransformer model = pipeline.Fit(data);

没有指定培训持续时间的可能性。我在这里想念明显吗?您是否在估算器链中指定持续时间?在此方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

机器学习算法具有不同的行为,某些模型提供了一些设置,例如要训练为输入的步骤,持续时间,历元或错误率等,并且每次运行的结果都不相同。但是其他一些具有固定的算法,并且总是具有相同的输出,并且无论您运行多少次Trainer,结果都是相同的。我认为您的模型属于后一种情况。

请注意,更改模型的输入参数会更改训练持续时间,在机器学习上下文中,“不同的训练持续时间”意味着更改模型的参数以找到最佳值。

根据您的情况,更改以下设置可能会更改您的训练时间:

// Define trainer options.
var options = new LbfgsMaximumEntropyMulticlassTrainer.Options
{
    HistorySize = 50,
    L1Regularization = 0.1f,
    NumberOfThreads = 1
};