ModelOperationsCatalog.Save 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Save(ITransformer, DataViewSchema, Stream) |
保存转换器模型以及用于将它训练到流的数据的架构。 |
Save(ITransformer, DataViewSchema, String) |
保存转换器模型以及用于将它训练到文件的数据的架构。 |
Save<TSource>(ITransformer, IDataLoader<TSource>, Stream) |
保存转换器模型以及用于创建其输入数据的加载程序到流。 |
Save<TSource>(ITransformer, IDataLoader<TSource>, String) |
保存转换器模型以及用于创建其输入数据的加载程序到文件。 |
Save(ITransformer, DataViewSchema, Stream)
保存转换器模型以及用于将它训练到流的数据的架构。
public void Save (Microsoft.ML.ITransformer model, Microsoft.ML.DataViewSchema inputSchema, System.IO.Stream stream);
member this.Save : Microsoft.ML.ITransformer * Microsoft.ML.DataViewSchema * System.IO.Stream -> unit
Public Sub Save (model As ITransformer, inputSchema As DataViewSchema, stream As Stream)
参数
- model
- ITransformer
要保存的已训练模型。 请注意,这可以是 null
空转换器链的速记。 使用 Load(Stream, DataViewSchema) 返回的值加载时将为空 TransformerChain<TLastTransformer>。
- inputSchema
- DataViewSchema
转换器输入的架构。 它可以是 null
。
- stream
- Stream
要保存到的可写可查找流。
适用于
Save(ITransformer, DataViewSchema, String)
保存转换器模型以及用于将它训练到文件的数据的架构。
public void Save (Microsoft.ML.ITransformer model, Microsoft.ML.DataViewSchema inputSchema, string filePath);
member this.Save : Microsoft.ML.ITransformer * Microsoft.ML.DataViewSchema * string -> unit
Public Sub Save (model As ITransformer, inputSchema As DataViewSchema, filePath As String)
参数
- model
- ITransformer
要保存的已训练模型。 请注意,这可以是 null
空转换器链的速记。 使用 Load(Stream, DataViewSchema) 返回的值加载时将为空 TransformerChain<TLastTransformer>。
- inputSchema
- DataViewSchema
转换器输入的架构。 它可以是 null
。
- filePath
- String
应保存模型的路径。
示例
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.ML;
namespace Samples.Dynamic.ModelOperations
{
public class SaveLoadModel
{
public static void Example()
{
// Create a new ML context, for ML.NET operations. It can be used for
// exception tracking and logging, as well as the source of randomness.
var mlContext = new MLContext();
// Generate sample data.
var data = new List<Data>()
{
new Data() { Value="abc" }
};
// Convert data to IDataView.
var dataView = mlContext.Data.LoadFromEnumerable(data);
var inputColumnName = nameof(Data.Value);
var outputColumnName = nameof(Transformation.Key);
// Transform.
ITransformer model = mlContext.Transforms.Conversion
.MapValueToKey(outputColumnName, inputColumnName).Fit(dataView);
// Save model.
mlContext.Model.Save(model, dataView.Schema, "model.zip");
// Load model.
using (var file = File.OpenRead("model.zip"))
model = mlContext.Model.Load(file, out DataViewSchema schema);
// Create a prediction engine from the model for feeding new data.
var engine = mlContext.Model
.CreatePredictionEngine<Data, Transformation>(model);
var transformation = engine.Predict(new Data() { Value = "abc" });
// Print transformation to console.
Console.WriteLine("Value: {0}\t Key:{1}", transformation.Value,
transformation.Key);
// Value: abc Key:1
}
private class Data
{
public string Value { get; set; }
}
private class Transformation
{
public string Value { get; set; }
public uint Key { get; set; }
}
}
}
适用于
Save<TSource>(ITransformer, IDataLoader<TSource>, Stream)
保存转换器模型以及用于创建其输入数据的加载程序到流。
public void Save<TSource> (Microsoft.ML.ITransformer model, Microsoft.ML.IDataLoader<TSource> loader, System.IO.Stream stream);
member this.Save : Microsoft.ML.ITransformer * Microsoft.ML.IDataLoader<'Source> * System.IO.Stream -> unit
Public Sub Save(Of TSource) (model As ITransformer, loader As IDataLoader(Of TSource), stream As Stream)
类型参数
- TSource
参数
- model
- ITransformer
要保存的已训练模型。 请注意,这可以是 null
空转换器链的速记。 使用 LoadWithDataLoader(Stream, IDataLoader<IMultiStreamSource>) 返回的值加载时将为空 TransformerChain<TLastTransformer>。
- loader
- IDataLoader<TSource>
用于创建数据来训练模型的加载程序。
- stream
- Stream
要保存到的可写可查找流。
适用于
Save<TSource>(ITransformer, IDataLoader<TSource>, String)
保存转换器模型以及用于创建其输入数据的加载程序到文件。
public void Save<TSource> (Microsoft.ML.ITransformer model, Microsoft.ML.IDataLoader<TSource> loader, string filePath);
member this.Save : Microsoft.ML.ITransformer * Microsoft.ML.IDataLoader<'Source> * string -> unit
Public Sub Save(Of TSource) (model As ITransformer, loader As IDataLoader(Of TSource), filePath As String)
类型参数
- TSource
参数
- model
- ITransformer
要保存的已训练模型。 请注意,这可以是 null
空转换器链的速记。 使用 LoadWithDataLoader(Stream, IDataLoader<IMultiStreamSource>) 返回的值加载时将为空 TransformerChain<TLastTransformer>。
- loader
- IDataLoader<TSource>
用于创建数据来训练模型的加载程序。
- filePath
- String
应保存模型的路径。