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
應該儲存模型的路徑。