public void TrainClassifierModel(string imagePath, string imageTag) { // Since apparently we can only have 10 iterations max DeleteEarliestIteration(false); var tags = ClassifierTrainingApi.GetTags(ClassifierModelProjectID); Tag trainTag = null; foreach (Tag tag in tags) { if (tag.Name.Equals(imageTag)) { trainTag = tag; break; } } using (var stream = File.Open(imagePath, FileMode.Open)) { ClassifierTrainingApi.CreateImagesFromData(ClassifierModelProjectID, stream, new List <string>() { trainTag.Id.ToString() }); } var iteration = ClassifierTrainingApi.TrainProject(ClassifierModelProjectID); while (iteration.Status == "Training") { Thread.Sleep(1000); iteration = ClassifierTrainingApi.GetIteration(ClassifierModelProjectID, iteration.Id); } iteration.IsDefault = true; ClassifierTrainingApi.UpdateIteration(ClassifierModelProjectID, iteration.Id, iteration); File.Delete(imagePath); }