ModelOperationsCatalog.Save 方法

定义

重载

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

应保存模型的路径。

适用于