首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ML.NET中加载保存的模型?

如何在ML.NET中加载保存的模型?
EN

Stack Overflow用户
提问于 2019-03-15 03:57:37
回答 1查看 1K关注 0票数 0

我正在使用ML.NET v0.11.0创建和保存模型。保存过程似乎是有效的,但我很难确定如何加载该模型以供使用。

代码语言:javascript
复制
MLContext mlContext = new MLContext();
IDataView trainingDataView = mlContext.Data.LoadFromEnumerable(myData);

// Setup and train the model
var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label")
        .Append(mlContext.Transforms.Concatenate("Features", "Field1", "Field2"))
        .AppendCacheCheckpoint(mlContext)
        .Append(mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(labelColumnName: "Label", featureColumnName: "Features"))
        .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel"));

var m = pipeline.Fit(trainingDataView);
using (var stream = System.IO.File.Create("mymodel.zip"))
{
    // this works
    mlContext.Model.Save(m, stream);
}

TransformerChain<KeyToValueMappingTransformer> loadedModel;
using (var stream = System.IO.File.OpenRead("mymodel.zip"))
{
    // this will not work, as ITransformer cannot be cast to TransformerChain<KeyToValueMappingTransformer>
    loadedModel = (TransformerChain<KeyToValueMappingTransformer>)mlContext.Model.Load(stream);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 04:12:25

我不认为你需要抛出重担。试着把它取下来,看看它是否起作用。下面的方法对我来说没有任何问题。

代码语言:javascript
复制
ITransformer _model;

using (var stream = System.IO.File.OpenRead(modelPath))
{
    _model = _context.Model.Load(stream);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55171040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档