You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从已训练的现有MLContext实例中获取对应ITransformer对象

解答

MLContext 是 ML.NET 的运行时上下文入口,本身不会存储训练生成的 ITransformer 模型对象,没有内置方法可以直接从已有的 MLContext 实例中提取对应的训练好的模型。

训练流程中,ITransformer 对象是训练管道调用 Fit() 方法完成训练时的返回值,训练完成后必须手动留存这个返回值,才能后续用于创建预测引擎、保存模型操作,示例代码如下:

var mlContext = new MLContext();
// 构建你的训练管道
var trainingPipeline = mlContext.Transforms.Concatenate("Features", /*你的特征列配置*/)
    .Append(mlContext.BinaryClassification.Trainers/*你的训练器配置*/);
// 执行训练,Fit方法返回值就是训练好的ITransformer对象,需要手动持有
ITransformer trainedMlModel = trainingPipeline.Fit(trainingData);
// 用持有的trainedMlModel创建预测引擎即可
return mlContext.Model.CreatePredictionEngine<ModelInput, ModelOutput>(trainedMlModel);

注意:如果你训练完成后没有留存 Fit() 返回的 ITransformer 对象,仅保留了 MLContext 实例,是无法找回对应模型的。如果之前已经调用 mlContext.Model.Save() 将模型持久化到过本地文件,可以通过你问题中给出的 Load 方法重新加载得到 ITransformer 实例。

内容的提问来源于stack exchange,提问作者Patrick McHargue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 20:55:00