Supervisely/ SmartTool

NN Architecture Updated 28 minutes ago Free
NN for interactive object segmentation. Allows to significantly speed up manual annotation. Can be customized for your specific task.
Free Signup


SmartTool is a class-agnostic annotation tool created specifically for semantic segmentation.


Train configuration

Default train configuration available in model presets.

Also you can read common training configurations documentation.

  • lr - Learning rate.
  • epochs - the count of training epochs.
  • val_every - validation peroid by epoch (value 0.5 mean 2 validations per epoch).
  • batch_size - batch sizes for training (train) and validation (val) stages.
  • gpu_devices - list of selected GPU devices indexes.
  • data_workers - how many subprocesses to use for data loading.
  • dataset_tags - mapping for split data to train (train) and validation (val) parts by images tags. Images must be tagged by train or val tags.
  • loss_weights - loss weights for loss function. Splited on points weights and main_class weights.
  • special_classes - objects with specified classes will be interpreted in a specific way.
  • weights_init_type - can be in one of 2 modes. In transfer_learning mode all possible weights will be transfered except last layer. In continue_training mode all weights will be transfered and validation for classes number and classes names order will be performed.

Full training configuration example:

  "lr": 0.01,
  "epochs": 5,
  "val_every": 1,
  "batch_size": {
    "val": 8,
    "train": 16
  "input_size": {
    "width": 256,
    "height": 256
  "gpu_devices": [
  "data_workers": {
    "val": 0,
    "train": 3
  "loss_weights": {
    "points": 0.5,
    "main_class": 1
  "special_classes": {
    "foreground": "obj"
  "weights_init_type": "continue_training"

Inference configuration

For full explanation see documentation.

mode - group contains all mode settings:

  • name - mode name defines how to apply NN to image (e.g. full_image - apply NN to full image)

  • model_classes - which classes will be used, e.g. NN produces 80 classes and you are going to use only few and ignore other. In that case you should set save_classes field with the list of interested class names. add_suffix string will be added to new class to prevent similar class names with exisiting classes in project. If you are going to use all model classes just set "save_classes": "__all__".

Full image inference configuration example:

  "name": "full_image",
  "model_classes": {
    "save_classes": [
    "add_suffix": ""

Warning: we highly recommend not change default configurations.



Docker Image

More Info

Version ID
First released
4 months ago
Last updated
28 minutes ago