示例#1
0
 def tearDownClass(cls):
     trainer = CustomVisionTrainingClient(api_key=TRAINING_KEY,
                                          endpoint=ENDPOINT)
     projects = trainer.get_projects()
     for project in projects:
         if project.name.find(PROJECT_PREFIX) == 0:
             trainer.delete_project(project_id=project.id)
示例#2
0
    def tearDown(self, *args, **kwargs):
        trainer = CustomVisionTrainingClient(api_key=self.training_key,
                                             endpoint=self.endpoint)
        projects = trainer.get_projects()
        for project in projects:
            if project.name.find(self.project_prefix) == 0:
                logger.info("Deleting project %s", project.id)
                trainer.delete_project(project_id=project.id)

        super(CustomVisionTestCase, self).tearDown(*args, **kwargs)
trainer.publish_iteration(project.id, iteration.id, publish_iteration_name,
                          prediction_resource_id)
print("Done!")
# </snippet_publish>

# <snippet_test>
# Now there is a trained endpoint that can be used to make a prediction
prediction_credentials = ApiKeyCredentials(
    in_headers={"Prediction-key": prediction_key})
predictor = CustomVisionPredictionClient(ENDPOINT, prediction_credentials)

with open(os.path.join(base_image_location, "Test/test_image.jpg"),
          "rb") as image_contents:
    results = predictor.classify_image(project.id, publish_iteration_name,
                                       image_contents.read())

    # Display the results.
    for prediction in results.predictions:
        print("\t" + prediction.tag_name +
              ": {0:.2f}%".format(prediction.probability * 100))
# </snippet_test>

# <snippet_delete>
# You cannot delete a project with published iterations, so you must first unpublish them.
print("Unpublishing project...")
trainer.unpublish_iteration(project.id, iteration.id)

print("Deleting project...")
trainer.delete_project(project.id)
# </snippet_delete>