我使用的是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()?
发布于 2020-01-11 06:21:52
ML.NET不支持图像分类训练器的恢复训练。目前,仅有以下培训师支持它:https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net
发布于 2021-03-09 12:12:11
“对于图像分类训练者,ML.NET不支持恢复训练。目前支持的训练者仅有:https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/retrain-model-ml-net":
不支持LbfgsMaximumEntropyMulticlassTrainer算法。
https://stackoverflow.com/questions/59653839
复制相似问题