Deepomatic API v0.7
  • What is Deepomatic API?
  • Authentication
  • Quick Start
  • Neural Networks
  • Recognition Specification
  • Recognition Version
  • Inference output
  • Tasks
  • Common objects
  • Errors
Powered by GitBook
On this page
  • Version object
  • Definition
  • Post-processing
  • Classification post-processing
  • Detection post-processing
  • Definition
  • Arguments
  • Code sample
  • Response
  • List versions
  • Definition
  • Code sample
  • Response
  • Retrieve a version
  • Definition
  • Arguments
  • Code sample
  • Response
  • Delete a version
  • Definition
  • Arguments
  • Code sample
  • Response
  • Version inference
  • Definition
  • Code sample
  • Response

Was this helpful?

Recognition Version

Version object

Definition

A recognition version implements a specification: this is the link between a specification and a neural network.

Attribute
Type
Attributes
Description

id

int

read-only

The ID of the recognition version.

spec_id

int

immutable

network_id

int

immutable

post_processings

immutable

spec_name

string

read-only

network_name

string

read-only

update_date

string

read-only

Date time (ISO 8601 format) of the creation specification version.

Post-processing

The fields of this object are mutually exclusive: you must specify exactly one of them.

Attribute
Type
Description

classification

detection

Classification post-processing

Attribute
Type
Description

thresholds

array(float)

A list of threshold for each label of the recognition specification. The label will be considered present if its score is greater than the threshold. The length of this array must exactly match the length of the labels field of the parent labels specification and the i-th threshold will be matched to the i-th label.

Detection post-processing

You must specify exactly one of the anchored_output, direct_output or yolo_output fields. When we specify an expected tensor size in the description of those fields, we omit the first dimension of the tensor (i.e. the batch size).

Attribute
Type
Description

thresholds

array(float)

A list of threshold for each label of the recognition specification. The label will be considered present if its score is greater than the threshold. The length of this array must exactly match the length of the labels field of the parent labels specification and the i-th threshold will be matched to the i-th label.

nms_threshold

float

The Jaccard index threshold that will be applied to NMS to decide if two boxes of the same label represent the same object.

Definition

Creates a new recognition version.

cURL
POST https://api.deepomatic.com/v0.7/recognition/versions

Arguments

Parameter
Type
Default
Description

spec_id

int

network_id

int

post_processings

Code sample

curl https://api.deepomatic.com/v0.7/recognition/versions \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}" \
-d '{
"spec_id": 42,
"network_id": 123,
"post_processings": [{"classification": {"output_tensor": "inception_v3/logits/predictions", "thresholds": [0.025, 0.025]}}]
}' \
-H "Content-Type: application/json"
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

client.RecognitionVersion.create(
    spec_id=42,
    network_id=123,
    post_processings=[{
        "classification": {
            "output_tensor": "inception_v3/logits/predictions",
            "thresholds": [
                0.5,
                0.5
            ]
        }
    }]
)

Response

JSON
{
    "id": 1,
    "spec_id": 42,
    "spec_name": "hot-dog VS not hot-dog classifier",
    "network_id": 123,
    "network_name": "hot-dog VS not hot-dog classifier",
    "update_date": "2018-03-09T18:30:43.404610Z",
    "post_processings": [{
        "classification": {
            "output_tensor": "inception_v3/logits/predictions",
            "thresholds": [
                0.5,
                0.5
            ]
        }
    }]
}

List versions

Definition

Get the list of existing recognition versions.

# To access all your versions, use:
GET https://api.deepomatic.com/v0.7/recognition/versions

# To access versions attached to a given recognition spec, use:
GET https://api.deepomatic.com/v0.7/recognition/specs/{SPEC_ID}/versions
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

# To access all your versions, use:
client.RecognitionVersion.list()

# To access versions attached to a given recognition spec, use:
client.RecognitionSpec.retrieve({SPEC_ID}).versions()

Code sample

# To access all your versions:
curl https://api.deepomatic.com/v0.7/recognition/versions \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}"

# To access versions attached to a given recognition spec, use:
curl https://api.deepomatic.com/v0.7/recognition/specs/42/versions \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}"
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

# To access all your versions, use:
for version in client.RecognitionVersion.list():
    print(version)

# To access versions attached to a given recognition spec, use:
for version in client.RecognitionSpec.retrieve(42).versions():
    print(version)

Response

A paginated list of responses.

Attribute
Type
Description

count

int

The total number of results.

next

string

The URL to the next page.

previous

string

The URL to the previous page.

results

JSON
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 1,
            "spec_id": 42,
            "spec_name": "hot-dog VS not hot-dog classifier",
            "network_id": 123,
            "network_name": "hot-dog VS not hot-dog classifier",
            "update_date": "2018-03-09T18:30:43.404610Z"
        },
        ...
    ]
}

Retrieve a version

Definition

Retrieve a recognition version by ID.

cURL
GET https://api.deepomatic.com/v0.7/recognition/versions/{VERSION_ID}

Arguments

Parameter
Type
Default
Description

version_id

int

The ID of the version to retrieve.

Code sample

curl https://api.deepomatic.com/v0.7/recognition/versions/1 \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}"
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

client.RecognitionVersion.retrieve(1)

Response

Delete a version

Definition

Permanently deletes a recognition version.

cURL
DELETE https://api.deepomatic.com/v0.7/recognition/versions/{VERSION_ID}

This cannot be undone.

Arguments

Parameter

Type

Default

Description

version_id

int

The ID of the version to delete.

Code sample

curl https://api.deepomatic.com/v0.7/recognition/versions/42 \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}" \
-X DELETE
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

version = client.RecognitionVersion.retrieve(42)
version.delete()

Response

Return 204 (no content).

Version inference

Definition

cURL
POST https://api.deepomatic.com/v0.7/recognition/versions/{VERSION_ID}/inference

Code sample

curl https://api.deepomatic.com/v0.7/recognition/versions/1/inference \
-X POST \
-H "Content-Type: application/json" \
-H "X-API-KEY: ${DEEPOMATIC_API_KEY}" \
-d '{"inputs": [{"image": {"source": "https://static.deepomatic.com/resources/demos/api-clients/dog2.jpg"}}]}'
import os
from deepomatic.api.client import Client
client = Client(api_key=os.getenv('DEEPOMATIC_API_KEY'))

version = client.RecognitionVersion.retrieve(1)
url = "https://static.deepomatic.com/resources/demos/api-clients/dog2.jpg"
version.inference(inputs=[deepomatic.ImageInput(url)])

Response

A task JSON.

JSON
{
    "task_id": "123"
}
PreviousRecognition SpecificationNextInference output

Last updated 1 year ago

Was this helpful?

The ID of the parent .

The ID of the which will cary on the computation.

The object that defines some network specific adjustments like the output tensor, some thresholds, etc. The length of this array must exactly match the length of the outputs field of the parent specification and the i-th post-processing will be matched to the i-th output.

The name of the corresponding to spec_id. This is convenient for display purposes.

The name of the corresponding to network_id. This is convenient for display purposes.

A post-processing of type classification for an output of type .

A post-processing of type detection for an output of type .

The ID of the parent .

The ID of the which will cary on the computation.

The that defines some network specific adjustments like the output tensor, some thresholds, etc. The length of this array must exactly match the length of the outputs field of the parent specification and the i-th post-processing will be matched to the i-th output.

A .

array()

A list of your . Please note that the post_processings field is not present.

A .

Run inference on this specification version. This endpoint returns a task ID. Please refer to to have a comprehensive list of the inference request arguments and response.

recognition version object
recognition version object
object
post-processing
object
object
object
post-processing object
object
recognition version objects
the Specification Inference
recognition specification
recognition specification
labels
labels
recognition specification
neural network
neural network
neural network