在 ML.NET 中指定训练时间的位置
Where to Specify Time to Train in ML.NET
我正在评估 ML.NET Model Builder(预览版)16.1.0.2027905。当我去训练时,Builder 让我指定 "Time to train (seconds)"(见图):
但是,当我进入第 6 步并生成代码时,我似乎无法找到指定 "Time to train" 的位置...
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 中是否有一些简单的方法可以在几秒钟内指定 "Time to train"?
我问这个问题是因为我想用用户指定的训练间隔手动调用 ModelBuilder.TrainModel。我不想总是被要求使用 ML.NET Builder GUI 来重新训练我的模型。
模型构建器在幕后使用 AutoML。它生成的代码是纯 ML.NET API 代码,因此它无法指定训练时间。
如果你想使用它,你需要使用 AutoML API。有了它,它就有了一种指定训练时间的方法。这是显示它的 the doc,但它类似于下面的代码:
var settings = new RegressionExperimentSettings
{
MaxExperimentTimeInSeconds = 20,
};
这是一个full sample on it which was used in this video。
希望对您有所帮助!
我正在评估 ML.NET Model Builder(预览版)16.1.0.2027905。当我去训练时,Builder 让我指定 "Time to train (seconds)"(见图):
但是,当我进入第 6 步并生成代码时,我似乎无法找到指定 "Time to train" 的位置...
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 中是否有一些简单的方法可以在几秒钟内指定 "Time to train"?
我问这个问题是因为我想用用户指定的训练间隔手动调用 ModelBuilder.TrainModel。我不想总是被要求使用 ML.NET Builder GUI 来重新训练我的模型。
模型构建器在幕后使用 AutoML。它生成的代码是纯 ML.NET API 代码,因此它无法指定训练时间。
如果你想使用它,你需要使用 AutoML API。有了它,它就有了一种指定训练时间的方法。这是显示它的 the doc,但它类似于下面的代码:
var settings = new RegressionExperimentSettings
{
MaxExperimentTimeInSeconds = 20,
};
这是一个full sample on it which was used in this video。
希望对您有所帮助!