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