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