forked from watson-developer-cloud/python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_visual_recognition.py
More file actions
64 lines (55 loc) · 2.28 KB
/
test_visual_recognition.py
File metadata and controls
64 lines (55 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# coding: utf-8
import pytest
import watson_developer_cloud
import os
from os.path import join, dirname
from unittest import TestCase
import json
@pytest.mark.skipif(
os.getenv('VCAP_SERVICES') is None, reason='requires VCAP_SERVICES')
class IntegrationTestVisualRecognitionV3(TestCase):
visual_recognition = None
classifier_id = None
@classmethod
def setup_class(cls):
cls.visual_recognition = watson_developer_cloud.VisualRecognitionV3(
'2016-05-20', api_key='YOUR API KEY')
cls.visual_recognition.set_default_headers({
'X-Watson-Learning-Opt-Out':
'1',
'X-Watson-Test':
'1'
})
cls.classifier_id = 'doxnotxdeletexintegrationxtest_397877192'
def test_classify(self):
dog_path = join(dirname(__file__), '../../resources/dog.jpg')
with open(dog_path, 'rb') as image_file:
dog_results = self.visual_recognition.classify(
images_file=image_file,
threshold='0.1',
classifier_ids=['default'])
assert dog_results is not None
def test_detect_faces(self):
output = self.visual_recognition.detect_faces(
parameters=json.dumps({
'url':
'https://www.ibm.com/ibm/ginni/images/ginni_bio_780x981_v4_03162016.jpg'
}))
assert output is not None
@pytest.mark.skip(reason="Time consuming")
def test_custom_classifier(self):
with open(os.path.join(os.path.dirname(__file__), '../../resources/cars.zip'), 'rb') as cars, \
open(os.path.join(os.path.dirname(__file__), '../../resources/trucks.zip'), 'rb') as trucks:
classifier = self.visual_recognition.create_classifier(
'CarsVsTrucks',
cars_positive_examples=cars,
negative_examples=trucks,
)
assert classifier is not None
classifier_id = classifier['classifier_id']
output = self.visual_recognition.get_classifier(classifier_id)
assert output is not None
output = self.visual_recognition.delete_classifier(classifier_id)
def test_core_ml_model(self):
core_ml_model = self.visual_recognition.get_core_ml_model(self.classifier_id)
assert core_ml_model.ok