示例#1
0
        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);
        }