public void AddImageTrainingData_Success()
        {
            IClient  client  = Substitute.For <IClient>();
            IRequest request = Substitute.For <IRequest>();

            client.PostAsync(Arg.Any <string>())
            .Returns(request);

            VisualRecognitionService service = new VisualRecognitionService(client);
            var versionDate = "versionDate";

            service.VersionDate = versionDate;

            var collectionId = "collectionId";
            var imageId      = "imageId";
            var objects      = new List <TrainingDataObject>();

            var result = service.AddImageTrainingData(collectionId: collectionId, imageId: imageId, objects: objects);

            JObject bodyObject = new JObject();

            if (objects != null && objects.Count > 0)
            {
                bodyObject["objects"] = JToken.FromObject(objects);
            }
            var json = JsonConvert.SerializeObject(bodyObject);

            request.Received().WithArgument("version", versionDate);
            request.Received().WithBodyContent(Arg.Is <StringContent>(x => x.ReadAsStringAsync().Result.Equals(json)));
            client.Received().PostAsync($"{service.ServiceUrl}/v4/collections/{collectionId}/images/{imageId}/training_data");
        }
Ejemplo n.º 2
0
        public void AddTrainingData()
        {
            IamAuthenticator authenticator = new IamAuthenticator(
                apikey: "{apikey}"
                );

            VisualRecognitionService service = new VisualRecognitionService("2019-02-11", authenticator);

            List <TrainingDataObject> objects = new List <TrainingDataObject>()
            {
                new TrainingDataObject()
                {
                    _Object  = "2018-Fit",
                    Location = new Location()
                    {
                        Left   = 13,
                        Top    = 5,
                        Width  = 760,
                        Height = 419
                    }
                }
            };

            var result = service.AddImageTrainingData(
                collectionId: "60b4a98f-2472-4e2b-9c73-28bcaea6fa00",
                imageId: "2018-Honda-Fit_dc0e7bbb5169dd0337ef5b753027ca90",
                objects: objects
                );

            Console.WriteLine(result.Response);
        }
Ejemplo n.º 3
0
        public IEnumerator TestAddImageTrainingData()
        {
            Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Attempting to Add Image Training Data...");
            TrainingDataObjects trainingDataObjects = null;
            var objectName = giraffeClassname;
            List <TrainingDataObject> objects = new List <TrainingDataObject>()
            {
                new TrainingDataObject()
                {
                    _Object  = objectName,
                    Location = new Location()
                    {
                        Left   = 27,
                        Top    = 64,
                        Width  = 75,
                        Height = 78
                    }
                }
            };

            service.AddImageTrainingData(
                callback: (DetailedResponse <TrainingDataObjects> response, IBMError error) =>
            {
                Log.Debug("VisualRecognitionServiceV4IntegrationTests", "AddImageTrainingData result: {0}", response.Response);
                trainingDataObjects = response.Result;
                Assert.IsNotNull(trainingDataObjects);
                Assert.IsTrue(trainingDataObjects.Objects.Count > 0);
                Assert.IsNull(error);
            },
                collectionId: collectionId,
                imageId: imageId,
                objects: objects
                );

            while (trainingDataObjects == null)
            {
                yield return(null);
            }
        }
        public void Training_Success()
        {
            string testCollectionName        = "testCollection";
            string testCollectionDescription = ".NET test collection";

            service.WithHeader("X-Watson-Test", "1");
            var createCollectionResult = service.CreateCollection(
                name: Utility.ConvertToUtf8(testCollectionName),
                description: Utility.ConvertToUtf8(testCollectionDescription));

            var createdCollectionId = createCollectionResult.Result.CollectionId;

            DetailedResponse <ImageDetailsList> addImagesResult = null;
            List <FileWithMetadata>             imagesFile      = new List <FileWithMetadata>();

            using (FileStream fs = File.OpenRead(localGiraffePositiveExamplesFilePath))
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    fs.CopyTo(ms);

                    FileWithMetadata fileWithMetadata = new FileWithMetadata()
                    {
                        Data        = ms,
                        ContentType = "application/zip",
                        Filename    = Path.GetFileName(localGiraffePositiveExamplesFilePath)
                    };
                    imagesFile.Add(fileWithMetadata);

                    service.WithHeader("X-Watson-Test", "1");
                    addImagesResult = service.AddImages(
                        collectionId: createdCollectionId,
                        imagesFile: imagesFile);
                }
            }

            var imageId = addImagesResult.Result.Images[0].ImageId;

            var objectName = giraffeClassname;
            List <TrainingDataObject> objects = new List <TrainingDataObject>()
            {
                new TrainingDataObject()
                {
                    _Object  = objectName,
                    Location = new Location()
                    {
                        Left   = 270,
                        Top    = 64,
                        Width  = 755,
                        Height = 784
                    }
                }
            };

            service.WithHeader("X-Watson-Test", "1");
            var addTrainingDataResult = service.AddImageTrainingData(
                collectionId: createdCollectionId,
                imageId: imageId,
                objects: objects);

            service.WithHeader("X-Watson-Test", "1");
            var trainCollectionResult = service.Train(
                collectionId: createdCollectionId);

            service.WithHeader("X-Watson-Test", "1");
            var deleteCollectionResult = service.DeleteCollection(
                collectionId: createdCollectionId);

            Assert.IsTrue(trainCollectionResult.StatusCode == 202);
            Assert.IsNotNull(trainCollectionResult.Result);
            Assert.IsTrue(trainCollectionResult.Result.ImageCount > 0);
            Assert.IsTrue(trainCollectionResult.Result.TrainingStatus.Objects.InProgress == true);
            Assert.IsNotNull(addTrainingDataResult.Result);
            Assert.IsNotNull(addTrainingDataResult.Result.Objects);
            Assert.IsTrue(addTrainingDataResult.Result.Objects.Count > 0);
            Assert.IsTrue(addTrainingDataResult.Result.Objects[0]._Object == objectName);
        }