Skip to main content

CVAT virtual machine

CVAT Virtual Machine is a preconfigured cloud server with a tool for annotating images, video, and 3D data used in training computer vision models.

The image from which the server is deployed contains:

  • CVAT — a tool for annotating images, videos, and 3D data used in training computer vision models;

  • Docker — a platform for running containerized applications;

  • Docker Compose — a tool for running multi-container applications in Docker;

  • PostgreSQL — an object-relational database management system;

  • Redis — an in-memory NoSQL database management system that works with key-value data;

  • Apache Kvrocks — a distributed key-value NoSQL database;

  • ClickHouse — a columnar database management system for real-time analytics;

  • Traefik — a reverse proxy and load balancer;

  • Open Policy Agent (OPA) — a security and access policy management engine;

  • Vector — a tool for creating pipelines to collect, process, and route logs and metrics;

  • Grafana — a tool for data visualization, monitoring, and analysis;

  • drivers required for GPU (GPU) operation.

Before creating a server, review the software license agreements included in the image.

Functionality

  • labeling images, video, and 3D data (LiDAR, point clouds);
  • automatic annotation using built-in ML models;
  • team collaboration on data with access management, analytics, and labeling quality control;
  • export and import of labeled data in various formats (COCO, YOLO, PASCAL VOC, and others) for compatibility with ML pipelines and frameworks.

Minimum resource requirements

vCPU count2
RAM4 GB
Boot volume20 GB
GPUNot required

Get started with CVAT Virtual Machine

  1. Create a cloud server with CVAT.

  2. Create an account in CVAT.

  3. Launch CVAT.

1. Create a cloud server with CVAT

  1. In the Control Panel, in the top menu, click Products and select AI Marketplace.

  2. Click Create server.

  3. Fill in the blocks:

  4. Check the server price.

  5. Click Create server.

Name and placement

  1. Enter the server name.

  2. Select the location where the server will be created. The list of available GPUs depends on the location. You cannot change the location after creating the server.

Source

Select the image CVAT VM (Ubuntu 24.04 LTS 64-bit).

Optional: GPU

  1. Click Add GPU.

  2. Select the GPU type. When selecting a GPU, consider the minimum resource requirements for running the image. For GPU specifications and descriptions, see the Graphics processing units (GPUs) instructions.

  3. Specify the number of GPUs.

After the server is created, you can change the type and number of GPUs or remove the GPU. For more information, see the Change cloud server configuration instructions.

Configuration

  1. Specify the number of vCPUs.

  2. Specify the RAM size.

After the server is created, you can change the configuration.

Disks

  1. Select the boot disk type. When using a local disk as a boot disk, GPUs are unavailable.

  2. Specify the disk size in GB or TB. The maximum size for all network volumes is 10 240 GB (10 TB), for a local disk — 1 256 GB (1 TB).

  3. If you selected the Universal SSD v2 or Fast SSD v2 disk type, specify the total number of read and write operations in IOPS. After creating the disk, you can change the number of IOPS — decrease or increase it. The number of IOPS changes is unlimited.

  4. Optional: to add additional disks:

    4.1. Click Add disk.

    4.2. Select the volume type.

    4.3. Specify the disk size in GB or TB. The maximum size for all network volumes is 10 240 GB (10 TB), for a local disk — 1 256 GB (1 TB).

    4.4. If you selected the Universal SSD v2 or Fast SSD v2 disk type, specify the total number of read and write operations in IOPS. After creating the disk, you can change the number of IOPS — decrease or increase it. The number of IOPS changes is unlimited.

    After the server is created, you can detach additional disks from it or attach new ones.

Network

You can add the server to a new or existing subnet. The subnet can be:

  • private without internet access. You will not be able to connect to the server from the internet, including via SSH or RDP;
  • private with one public IP address. A static public IP address is connected to the server's private address via a cloud router. The server will be accessible from the internet via this public IP address;
  • public, where all addresses are accessible from the internet.
  1. To add a server to an existing private subnet:

    1.1. In the Subnet field, select an existing subnet.

    1.2. Optional: change the default private IP address of the server.

  2. To create a new private subnet:

    2.1. In the Subnet field, select the subnet type Private.

    2.2. Optional: change the subnetwork CIDR.

    2.3. Optional: enable the DHCP toggle. For more information about the DHCP protocol, see the Selectel blog post How the DHCP protocol works.

    2.4. Optional: change the default gateway IP address.

    2.5. Optional: change the network in which the subnet will be created — you can select an existing network or create a new one. If you are creating a new network, enter the network name.

Optional: Access

  1. In the Password for "root" field:

    1.1. Copy the password for the root user — a user with unrestricted permissions for all system actions.

    1.2. Save the password in a secure place and do not share it in plain text.

  2. Place an SSH key for the project on the server for secure connection:

    2.1. If the SSH key has not been added to the Cloud Platform, click , enter a key name, paste the public key in OpenSSH format, and click Add.

    2.2. If the SSH key has been added to the Cloud Platform, in the SSH key field, select an existing key.

Optional: Additional settings

  1. To create a preemptible server, select the Preemptible server checkbox.

  2. If you plan to create multiple servers and want to increase infrastructure fault tolerance, add the server to a placement group:

    2.1. To create a new group, click , enter a group name, and select a placement policy on different hosts:

    • soft—the system will try to place the servers on different hosts. If no suitable host is available when creating the server, it will be created on the same host;

    • hard—servers in the group are required to be placed on different hosts. If no suitable host is available when creating the server, the server will not be created.

    2.2. If the group has been created, in the Placement group field, select a placement group.

  3. To add additional information or filter servers in the list, add server tags. A tag with the image name is added automatically. To add a new tag, in the Tags field, enter a tag.

Optional: Automation

  1. To add a script that will be executed using the cloud-init agent during the first operating system boot, in the User data field:

    • open the Text tab and paste the script as text;
    • or open the File tab and upload the script file.

    For script examples and supported formats, see the User data instructions.

2. Create a CVAT account

  1. In the control panel, in the top menu, click Products and select AI Marketplace.

  2. In the CVAT Virtual Machine card, click Go to GUI.

  3. Click Create an account.

  4. In the First Name field, enter the first name.

  5. In the Last Name field, enter the last name.

  6. In the Email field, enter the email address.

  7. In the Username field, enter the username.

  8. In the Password field, enter the password.

  9. Click Create account.

3. Launch CVAT

  1. In the control panel, in the top menu, click Products and select AI Marketplace.

  2. In the CVAT Virtual Machine card, click Go to GUI.

  3. In the Email or username field, enter:

  4. Enter the password you specified in step 8 when creating an account in stage 2.

  5. Click Next.