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)
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>