gpt4 book ai didi

c# - 在 ML.NET 中指定训练时间的位置

转载 作者:行者123 更新时间:2023-12-03 08:42:06 25 4
gpt4 key购买 nike

我正在评估 ML.NET 模型生成器(预览版)16.1.0.2027905。当我去训练时,构建器让我指定“训练时间(秒)”(见图):

enter image description here

但是,当我到达第 6 步并生成代码时,我似乎找不到指定“训练时间”的位置...

ML.NET Builder 在 ModelBuilder.cs 文件中自动为我创建此函数:

    public static ITransformer TrainModel(MLContext mlContext, IDataView trainingDataView, IEstimator<ITransformer> trainingPipeline)
{
Console.WriteLine("=============== Training model ===============");

ITransformer model = trainingPipeline.Fit(trainingDataView);

Console.WriteLine("=============== End of training process ===============");
return model;
}

但是我在调​​试器中查看了 mlContext、trainingDataView、trainingPipeline 对象,但没有立即看到可以在哪里指定训练时间。另外,我对 3600(这是我训练的时间)进行了全局文本搜索,但我没有找到任何有趣的代码。

ML.NET 中是否有一些简单的方法可以以秒为单位指定“训练时间”?

我问这个问题是因为我想使用用户指定的训练间隔手动调用 ModelBuilder.TrainModel。我不想总是被要求使用 ML.NET Builder GUI 来重新训练我的模型。

最佳答案

模型生成器在幕后使用 AutoML。它生成的代码是纯 ML.NET API 代码,因此无法指定训练时间。

如果您想使用它,则需要使用 AutoML API。这样它就可以指定训练时间。这是the doc显示了它,但它会类似于下面的代码:

var settings = new RegressionExperimentSettings
{
MaxExperimentTimeInSeconds = 20,
};

这是一个full sample其上曾用于 this video .

希望有帮助!

关于c# - 在 ML.NET 中指定训练时间的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62440229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com