ML.NET 可以从保存的模型 .zip 文件或检查点恢复图像分类迁移学习吗?如何?
Can ML.NET Image Classification Transfer Learning be resumed from a saved model .zip file or checkpoint? How?
我正在使用 NuGet 包 Microsoft.ML (1.4.0) 和 SciSharp.TensorFlow.Redist (1.15.0)
初始训练和保存模型工作正常
var options = new Microsoft.ML.Vision.ImageClassificationTrainer.Options()
{
FeatureColumnName = "Image",
LabelColumnName = "LabelAsKey",
Arch = Microsoft.ML.Vision.ImageClassificationTrainer.Architecture.InceptionV3,
Epoch = 50,
BatchSize = 10,
LearningRate = 0.01f,
MetricsCallback = (metrics) => Console.WriteLine(metrics),
ValidationSet = testDataView
};
var pipeline = mlContext.MulticlassClassification.Trainers.ImageClassification(options)
.Append(mlContext.Transforms.Conversion.MapKeyToValue(
outputColumnName: "PredictedLabel",
inputColumnName: "PredictedLabel"));
ITransformer trainedModel = pipeline.Fit(trainDataView);
mlContext.Model.Save(trainedModel, trainDataView.Schema, "C:/Temp/model.zip")
并且使用该模型进行预测效果很好
var loadModel = mlContext.Model.Load("C/Temp/Model.zip", out var modelInputSchema)
var PredictionEngine = mlContext.Model.CreatePredictionEngine<InMemoryImageData, ImagePrediction>(loadModel);
prediction = PredictionEngine.Predict(image);
但是,如果我想继续用更多图像训练 model.zip 文件,而不是从头开始从基线模型重新训练,我该怎么做?
有什么方法可以使用加载的模型再次调用 .Fit()
?
ML.NET 不支持图像分类训练器的恢复训练。目前,唯一支持它的培训师如下:
https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net
"ML.NET 不支持图片分类训练器恢复训练,目前支持的训练器只有:https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net"
不支持LbfgsMaximumEntropyMulticlassTrainer算法。
我正在使用 NuGet 包 Microsoft.ML (1.4.0) 和 SciSharp.TensorFlow.Redist (1.15.0)
初始训练和保存模型工作正常
var options = new Microsoft.ML.Vision.ImageClassificationTrainer.Options()
{
FeatureColumnName = "Image",
LabelColumnName = "LabelAsKey",
Arch = Microsoft.ML.Vision.ImageClassificationTrainer.Architecture.InceptionV3,
Epoch = 50,
BatchSize = 10,
LearningRate = 0.01f,
MetricsCallback = (metrics) => Console.WriteLine(metrics),
ValidationSet = testDataView
};
var pipeline = mlContext.MulticlassClassification.Trainers.ImageClassification(options)
.Append(mlContext.Transforms.Conversion.MapKeyToValue(
outputColumnName: "PredictedLabel",
inputColumnName: "PredictedLabel"));
ITransformer trainedModel = pipeline.Fit(trainDataView);
mlContext.Model.Save(trainedModel, trainDataView.Schema, "C:/Temp/model.zip")
并且使用该模型进行预测效果很好
var loadModel = mlContext.Model.Load("C/Temp/Model.zip", out var modelInputSchema)
var PredictionEngine = mlContext.Model.CreatePredictionEngine<InMemoryImageData, ImagePrediction>(loadModel);
prediction = PredictionEngine.Predict(image);
但是,如果我想继续用更多图像训练 model.zip 文件,而不是从头开始从基线模型重新训练,我该怎么做?
有什么方法可以使用加载的模型再次调用 .Fit()
?
ML.NET 不支持图像分类训练器的恢复训练。目前,唯一支持它的培训师如下: https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net
"ML.NET 不支持图片分类训练器恢复训练,目前支持的训练器只有:https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net"
不支持LbfgsMaximumEntropyMulticlassTrainer算法。