C# 如何向现有的ML.Net训练模型ITransformer添加新的图像集?

C# 如何向现有的ML.Net训练模型ITransformer添加新的图像集?,c#,.net,tensorflow,ml.net,C#,.net,Tensorflow,Ml.net,我是机器学习新手 我在Windows系统上使用了ML.Net图像分类,使用了InceptionV3,假设我已经有了一个带有100只猫和100只狗的经过训练的模型,并将经过训练的模型保存为ZIP文件 现在,我发现以后再也没有10只猫了,我想把它们添加到现有的已保存的训练过的ZIP模型文件中,而不是重新训练所有的新旧猫和狗,我该如何做到这一点 任何帮助都将不胜感激 这是我的代码,它创建了一个模型并保存在最后一行。。。但现在,我想将新发现的猫添加到现有保存的模型中,而无需使用旧的猫和狗照片重新训练模型

我是机器学习新手

我在Windows系统上使用了ML.Net图像分类,使用了InceptionV3,假设我已经有了一个带有100只猫和100只狗的经过训练的模型,并将经过训练的模型保存为ZIP文件

现在,我发现以后再也没有10只猫了,我想把它们添加到现有的已保存的训练过的ZIP模型文件中,而不是重新训练所有的新旧猫和狗,我该如何做到这一点

任何帮助都将不胜感激

这是我的代码,它创建了一个模型并保存在最后一行。。。但现在,我想将新发现的猫添加到现有保存的模型中,而无需使用旧的猫和狗照片重新训练模型。请帮忙

MLContext mlContext = new MLContext(seed: 1);

IEnumerable<ImageData> images = LoadImagesFromDirectory(folder: fullImagesetFolderPath, useFolderNameasLabel: true);

IDataView fullImagesDataset = mlContext.Data.LoadFromEnumerable(images);
IDataView shuffledFullImagesDataset = mlContext.Data.ShuffleRows(fullImagesDataset);

var pipeline = mlContext.Transforms.Conversion.MapValueToKey(outputColumnName: "LabelAsKey",
                                                                        inputColumnName: "Label",
                                                                        keyOrdinality: ValueToKeyMappingEstimator.KeyOrdinality.ByValue)
                    .Append(mlContext.Model.ImageClassification("ImagePath", "LabelAsKey",
                           arch: ImageClassificationEstimator.Architecture.InceptionV3,
                           epoch: 20,
                               batchSize: 5));

  ITransformer trainedModel = pipeline.Fit(trainDataView);

  mlContext.Model.Save(trainedModel, trainDataView.Schema, outputMlNetModelFilePath);
MLContext-MLContext=新的MLContext(种子:1);
IEnumerable images=LoadImagesFromDirectory(文件夹:fullImagesetFolderPath,useFolderNameasLabel:true);
IDataView fullImagesDataset=mlContext.Data.LoadFromEnumerable(图像);
IDataView shuffledFullImagesDataset=mlContext.Data.ShuffleRows(fullImagesDataset);
var pipeline=mlContext.Transforms.Conversion.MapValueToKey(outputColumnName:“LabelAsKey”,
inputColumnName:“标签”,
keyOrdinality:ValueToKeyMappingManager.keyOrdinality.ByValue)
.Append(mlContext.Model.ImageClassification(“ImagePath”、“LabelAsKey”),
arch:ImageClassificationEstimator.Architecture.InceptionV3,
纪元:20,,
批量大小:5);
ITransformer trainedModel=pipeline.Fit(trainDataView);
mlContext.Model.Save(trainedModel、trainDataView.Schema、outputMlNetModelFilePath);

我认为不存在在没有旧样本的情况下重新培训的可能性。除非你把训练的状态储存在某个地方,以后再去拿。。。我也很好奇,我想你做不到。无法将数据添加到经过训练的模型中。有些情况下,您可以部分基于旧模型(,)训练新模型,但我认为它不适用于图像分类。我认为不存在在没有旧样本的情况下重新训练的可能性。除非你把训练的状态储存在某个地方,以后再去拿。。。我也很好奇,我想你做不到。无法将数据添加到经过训练的模型中。有些情况下,您可以部分基于旧模型(,)训练新模型,但我认为它不适用于ImageClassification。