Overview

SDK allows third-party developers to customize and add new features to extend Supervisely functionality.

Unification

User have access to all source codes of python backend: agent, neural networks, DTL, import and Supervisely SDK. Cool stuff here is that user can customize almost everything. Also, data scientists should be happy, because all neural networks are unified: the same running pipeline, same input data format, same logging, same metrics reporting, same inference modes and so on ... The time of tinker at difference abandoned and usually broken repositories is over.

Now, users can add custom:

  • neural networks for training and inference

  • implement import for custom data format

  • add new layers to DTL

  • add custom plugins (coming soon)

How it works?

Here is the high-level overview of entire process:

  1. Import Supervisely SDK to custom sources

  2. Call few methods from SDK

  3. Build everything to docker image and push it to private docker registry

  4. Add to Supervisely by providing path to docker image

How agent processes task

Agent prepares all data for task in special structure. Then agent spanws necessary docker image and stream logs to server. When task is finished, agent uploads results to Supervisely Server.

Easy integration

When task is started in separate docker container, it works only with input directory. And it produces results to another directory. It knows NOTHING about Supervisely Infrastructure. This means that all neural networks, import and DTL can be used without Supervisely. Everything is simplified for only one reason: third-party developer should be happy with easy integration.