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

應該儲存模型的路徑。

適用於