Skip to main content

A client for the Microsoft Azure Custom Vision Service

Project description

https://travis-ci.org/CatalystCode/py_custom_vision_client.svg?branch=master https://img.shields.io/pypi/v/custom_vision_client.svg

py_custom_vision_client

This repository contains a simple Python client for the Custom Vision Service.

Usage

# first, train a model

from custom_vision_client import TrainingClient, TrainingConfig

azure_region = "southcentralus"
training_key = "my-training-key"  # from settings pane on customvision.ai

training_client = TrainingClient(TrainingConfig(azure_region, training_key))
project_id = training_client.create_project("my-project-name").Id

training_client.create_tag(project_id, "Cat")
training_client.create_tag(project_id, "Dog")

training_client.add_training_images(project_id, ["kitten.jpg"], "Cat")
training_client.add_training_images(project_id, ["akita.png", "spitz.png"], "Dog")
training_client.add_training_images(project_id, ["best-animal-pals.jpg"], "Cat", "Dog")

model_id = training_client.trigger_training(project_id).Id

# then, use the model to predict:

from custom_vision_client import PredictionClient, PredictionConfig

azure_region = "southcentralus"
prediction_key = "my-prediction-key"  # from settings pane on customvision.ai

prediction_client = PredictionClient(PredictionConfig(azure_region, project_id, prediction_key))

predictions = prediction_client.classify_image("cat.jpg", model_id)  # could also be a url to a file
best_prediction = max(predictions, key=lambda _: _.Probability)
print(best_prediction.Tag)

Command-line interface

You can also interact with the Custom Vision Service via a command-line interface:

# first, train a model
python3 -m custom_vision_client.training \
  --key="my-training-key" \
  --projectname="my-project-name" \
  --imagesroot="/path/to/images"

# then, use the model to predict:
python3 -m custom_vision_client.prediction \
  --key="my-prediction-key" \
  --projectid="my-project-id-from-training" \
  --modelid="my-model-id-from-training" \
  --image="path-or-url-to-image"

The command-line interface assumes that your training images are organized in folders such that every folder contains all the training images for that label:

/path/to/images
├── label_one
   ├── image_1.jpg
   ├── image_2.png
   └── image_3.png
└── label_two
    ├── image_4.jpg
    └── image_5.jpg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

custom_vision_client-0.0.8.tar.gz (5.6 kB view details)

Uploaded Source

File details

Details for the file custom_vision_client-0.0.8.tar.gz.

File metadata

File hashes

Hashes for custom_vision_client-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f6d1f0405b63621a10853da1a1b4b93f54a300837178c7ddf68fc95ca2635483
MD5 d73433975cb2acb2dc7ece001ba9525f
BLAKE2b-256 4d22b8ec33004828550f44e7ba8fab243aba518972fdc7cf6e2dfff476274feb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page