ModelOperationsCatalog.Load Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
Load(Stream, DataViewSchema) |
Load the model and its input schema from a stream. |
Load(String, DataViewSchema) |
Load the model and its input schema from a file. |
Load(Stream, DataViewSchema)
Load the model and its input schema from a stream.
public Microsoft.ML.ITransformer Load (System.IO.Stream stream, out Microsoft.ML.DataViewSchema inputSchema);
member this.Load : System.IO.Stream * DataViewSchema -> Microsoft.ML.ITransformer
Public Function Load (stream As Stream, ByRef inputSchema As DataViewSchema) As ITransformer
Parameters
- stream
- Stream
A readable, seekable stream to load from.
- inputSchema
- DataViewSchema
Will contain the input schema for the model. If the model was saved without
any description of the input, there will be no input schema. In this case this can be null
.
Returns
The loaded model.
Examples
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; }
}
}
}
Applies to
Load(String, DataViewSchema)
Load the model and its input schema from a file.
public Microsoft.ML.ITransformer Load (string filePath, out Microsoft.ML.DataViewSchema inputSchema);
member this.Load : string * DataViewSchema -> Microsoft.ML.ITransformer
Public Function Load (filePath As String, ByRef inputSchema As DataViewSchema) As ITransformer
Parameters
- filePath
- String
Path to a file where the model should be read from.
- inputSchema
- DataViewSchema
Will contain the input schema for the model. If the model was saved without
any description of the input, there will be no input schema. In this case this can be null
.
Returns
The loaded model.
Examples
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.ML;
namespace Samples.Dynamic.ModelOperations
{
public class SaveLoadModelFile
{
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.
model = mlContext.Model.Load("model.zip", 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; }
}
}
}