Version: Next

Quick start

It's easy to get started with Onepanel. First, you install the CLI (opctl) and then using opctl, you generate a params.yaml file and update it to configure your deployment. Once complete, you can access your deployment from any browser using your Kubernetes authentication token. Finally, you can run a Workflow or create a Workspace.

Before getting started, take a look at concepts to understand the different components in Onepanel.

important

The steps in the quick start allow you to quickly create a Onepanel cluster for testing. To create a production cluster with TLS and auto scaling enabled see instructions for your cloud provider.

You can also add components at later time to make this cluster production ready.

Step 0: Create a Kubernetes cluster

Let's get started by creating a Kubernetes cluster in one of the following cloud providers:

note

Make sure Azure CLI (az) is installed before proceeding.

Run this az command to create a bare minimum cluster with 2 Standard_D4s_v3 nodes:

az aks create --resource-group <resource-group> --name <cluster-name> --location <region> \
--node-count 2 \
--node-vm-size Standard_D4s_v3 \
--node-osdisk-size 100 \
--min-count 2 \
--max-count 2 \
--enable-cluster-autoscaler \
--network-plugin azure \
--network-policy azure \
--enable-addons monitoring \
--generate-ssh-keys

You can then get access credentials by running:

az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin

Step 1: Install Onepanel

  1. Download the latest opctl for your operating system from our release page.

    # Download the binary
    curl -sLO https://github.com/onepanelio/core/releases/latest/download/opctl-linux-amd64
    # Make binary executable
    chmod +x opctl-linux-amd64
    # Move binary to path
    mv ./opctl-linux-amd64 /usr/local/bin/opctl
    # Test installation
    opctl version
  2. Run the following command to initialize a params.yaml template for your provider:

    opctl init --provider aks \
    --artifact-repository-provider s3
    note

    If you have GPU nodes, you need to set the --gpu-device-plugins flag. Valid values are nvidia and amd or a comma separated combination of both nvidia,amd.

    Valid options for --artifact-repository-provider flag are s3 or gcs. Use s3 for any S3 compatible object storage like Minio.

    See CLI overview for additional flags that that may apply.

  3. Populate params.yaml by following the instructions in the template, and referring to configuration file sections for more detailed information.

  4. Finally, run the following command to deploy Onepanel to your cluster:

    opctl apply
    note

    If the command completes but it indicates that your cluster is not ready, you can check status again by running opctl app status. If you're still seeing issues, visit our Troubleshooting page.

  5. Once the deployment completes, the CLI will display the host name and wildcard domain you need to use to setup your DNS. You can also get this information again by running:

    opctl app status
  6. Create the appropriate DNS record in your DNS provider based on the instructions above.

    tip

    If you don't have a domain name handy or you're waiting for your DNS record to propogate, you can set up a hosts file to quickly test the deployment.

  7. Wait a few minutes and check the URL mentioned in the instructions above. Your applications should load with a screen prompting you to enter a token.

    note

    If the application is not loading, visit our Troubleshooting page for some steps that can help resolve most issues. If you are still having issues, join our Slack community or open an issue in GitHub.

  8. Use the following command to get your auth token to log into Onepanel:

    opctl auth token

Step 2: Annotate your data

Onepanel is fully integrated with Computer Vision Annotation Tool (CVAT), allowing you to annotate images and videos and then train models on the annotated data with a few clicks. You can then use these newly trained models to automatically pre-annotate additional data, iteratively improving your object detection or semantic segmentation models.

  1. Go to Workspaces and click Create Workspace.

    Create Workspace

  2. Select the CVAT template and enter a name for your Workspace.

  3. Select a node pool that Onepanel will use to provision a machine for running CVAT. CVAT requires at least 16GB of RAM.

    note

    Some providers have limits on how many volumes you can attach to a node. The default CVAT template in Onepanel requires 6 volumes, so make sure to pick a machine that can support at least that many volumes.

  4. Next, add the directory you want Onepanel to pull raw input data and store training output (pickled models, classes, etc.). This directory should be in the default object storage you configured when you launched Onepanel and in a directory that matches your current namespace.

  5. Click Create and Run to launch your CVAT Workspace.

  6. Once CVAT is running, click View.

  7. In CVAT, click Create new task.

  8. Enter a name for your task and then under Constructor, add your labels. See CVAT's user guide for additional information on more advanced label configuration.

  9. Under "Select files", click Connected file share. Files from your object storage location above should have already synced here. Pick the ones you want to annotate.

    important

    Onepanel's FileSyncer automatically syncs files from your object storage location to this CVAT instance every 5 minutes.

  10. Click Submit and then click the Tasks menu item to go to the tasks list.

  11. Click Open to open task details.

  12. Click Job #1 to go into CVAT to start annotating your data. See CVAT's user guide for more information on the annotation tool interface.

Step 3: Train a model on annotated data

Onepanel allows you to train deep learning models on annotated data in CVAT in a matter of a few clicks.

You can directly train object detection or segmentation model from CVAT which you can use later to pre-annotate new data. This dramatically reduces time it takes to train new models and use them to pre-annotate new data. Moreover, apart from default models that we provide, you easily add new models or even modify exising model workflows.

  1. Click on Open for a task you want to train a model on.

    Open task

  2. Click on Job #X, where X could be any job number. Annotate few frames. For testing you can just annotate one frame. But ideally you want to have thousands of objects to train a deep learning model on. Alternatively, you can just run pre-annotation if your labels are common ones.

  3. Click on Actions for a task you want to train a model on. Then, click on Execute training Workflow.

    Select training workflow

  4. Select Workflow template (i.e model to train). By default, you can use TensorFlow Object Detection for object detection or MaskRCNN for semantic segmentation. Below image shows a case for Tensorflow Object Detection.

    Train a model from CVAT

  5. Update hyper-parameters and settings as per your requirements. Most of the parameters visible above are related to the model (MaskRCNN) and system (i.e machine). For this guide, you can change num-steps from default 10000 to 1000. You can also select the checkpoint path from previously trained model. You can leave it empty if you don't have an appropriate, previously trained model.

  6. Click Submit. This will execute the Onepanel Workflow for selected model. You can see Workflow logs by going to Workflow execution page. You can find the URL for the same in the notification card.

    Workflow URL

tip

Note that you can easily add your own models as well. See adding custom models for more information on adding custom models.

You can also use this trained model to run pre-annotation in CVAT. See automatic annotation for more information on pre-annotation.

For more information about CVAT on Onepanel, see our CVAT documentation.