示例#1
0
        public void DeleteEarliestIteration(bool isClothing)
        {
            if (isClothing)
            {
                var iterations = ClothingTrainingApi.GetIterations(ClothingModelProjectID);

                Iteration iterationToDelete = iterations[iterations.Count - 1];

                if (iterations.Count == 10)
                {
                    ClothingTrainingApi.DeleteIteration(ClothingModelProjectID, iterationToDelete.Id);
                }
            }
            else
            {
                var iterations = ClassifierTrainingApi.GetIterations(ClassifierModelProjectID);

                Iteration iterationToDelete = iterations[iterations.Count - 1];

                if (iterations.Count == 10)
                {
                    ClassifierTrainingApi.DeleteIteration(ClassifierModelProjectID, iterationToDelete.Id);
                }
            }
        }
示例#2
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);
        }