WebApp

A WebApp enables deployment of a Web-based ML applications in a simple way. Services for project users may also be provided as a WebApp.

For example, the YOLOv5 Inference WebApp detects the objects and their boundaries in a user-provided image.

../_images/view_web_app_2.png

Create a WebApp

To create a WebApp:

  1. In the WebApp page, click on the NEW button.

  2. Select the WebApp template.

  3. Fill in the settings.

    Note

    The settings vary with the selected template.

    For example, the YOLOv5 Inference template has settings for the WebApp name, flavor, bind port, WebApp protocol, and model. YOLOv5 Inference requires a model containing a weights file named yolov5.pt in the model’s root directory.

    ../_images/add_webapp_1.png
  4. Click on the CREATE button.

To access a WebApp:

  1. Start the WebApp if it has not been in the Running state.

  2. Click on the open button.

    ../_images/view_web_app_1.png
  3. The WebApp will be opened in a new tab or window.

Delete a WebApp

To delete a WebApp:

  1. Click on the stop button if the WebApp is still in the Running state.

    ../_images/stop_webapp.png
  2. Click on the delete button.

    ../_images/del_webapp.png

Setup Label Studio

Label Studio is a data annotation tool, available as a WebApp in MLSteam. To setup Label Studio:

  1. Create a project-scoped folder, yolo-sample as example here, and add an output directory in the folder.

    ../_images/setup_labelstudio_1.png
  2. Create a Label Studio WebApp with folder yolo-sample

    • Mount folder: yolo-sample

    ../_images/setup_labelstudio_2.png
  3. Open the Label Studio WebApp.

  4. Create a new account with your email address and a new password.

    ../_images/setup_labelstudio_3.png
  5. Click on the Create Project button.

  6. In the dialog, fill in the following fields, and click on the Save button:

    • Project name tab:

      • Project name: the project name

      • Description: a brief description (optional)

      ../_images/setup_labelstudio_4.png
    • Labeling setup tab:

      • Select Object Detection with Bounding Boxes.

      • Define the labels.

      ../_images/setup_labelstudio_5.png ../_images/setup_labelstudio_6.png
  7. In the project page, click on the Settings button.

    ../_images/setup_labelstudio_7.png
  8. In the Cloud Storage section, click on the Add Source Storage button.

    ../_images/setup_labelstudio_8.png
  9. In the dialog, fill in the following fields, and click on the Add Storage button.

    • Storage type: Local files

    • Storage title: a storage title (optional)

    • Absolute path: path to the images to label (for the yolo-sample dataset, this would be /data/ds1/training_data/yolo/images)

    • File filter regex: image file filter in regular expressions (optional) (for the yolo-sample dataset, this would be .*jpg)

    • Treat every bucket object as a source file: enabled

    ../_images/setup_labelstudio_91.png
  10. Back to the project settings page, click on the Sync Storage button.

    ../_images/setup_labelstudio_101.png
  11. Back to the project main page by clicking on the top navbar.

    ../_images/setup_labelstudio_11.png
  12. Select an image to label, add the bounding boxes for the corresponding classes, and click on the Submit button.

    ../_images/setup_labelstudio_12.png ../_images/setup_labelstudio_13.png
  13. Repeat the previous step until all the images are labelled.

  14. Back to the project settings page, click on the Add Target Storage button.

    ../_images/setup_labelstudio_141.png
  15. In the dialog, fill in the following fields, and click on the Add Storage button.

    • Storage type: Local files

    • Storage title: a storage title (optional)

    • Absolute local path: the output path created in the mounted project-scoped folder (For example, /data/output)

    ../_images/setup_labelstudio_151.png
  16. Back to the project settings page, click on the Sync Storage button.

    ../_images/setup_labelstudio_161.png
  17. Back to the folder page, the labelling data will be saved in the output directory.

    ../_images/setup_labelstudio_17.png

Setup CVAT

CVAT is a data annotation tool, available as a WebApp in MLSteam. To setup CVAT:

  1. Create a project-scoped folder

  2. Create a CVAT WebApp from template.

    ../_images/setup_cvat_1.png
  3. Input name and select desired folder from the dropdown, then press “Create”. Notice default credentials.

    ../_images/setup_cvat_2.png
  4. When the webapp is running press “External link” button to open CVAT.

    ../_images/setup_cvat_3.png

    Note

    While CVAT status is running it might take few minutes for system to fully setup and create accaunt. You can check start up progress by checking the logs

    ../_images/setup_cvat_9.png ../_images/setup_cvat_8.png
  5. In the CVAT tab input default credentials admin/cvat@mlsteam

  6. Press “Create new task” button

  7. Fill the task creation form fields. To use project dataset for annotation click “Connected file share” expand directory tree and sellect needed files.

    ../_images/setup_cvat_4.png

    Warning

    Don’t include .cvat directory. It will result in error.

  8. Open task after submit

    ../_images/setup_cvat_5.png
  9. Open job

    ../_images/setup_cvat_6.png
  10. Do the labeling (labeling process is not covered here)

  11. To use annotations, download them first then unzip and upload annotation file to MLSteam dataset. To download unnotations press “Menu”->”Dump annotations” then select desired format.

    ../_images/setup_cvat_7.png