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.
In this quick start, we will walk you through:
- Deploying Onepanel to one of the major cloud providers.
- Labelling your images or video using the integrated annotation Workspace.
- Training your model with the newly labelled data using the integrated training Workflows.
Before getting started, take a look at concepts to understand the different components in Onepanel.
tip
You can also follow along with our getting started videos, but be sure to use the commands from the docs:
Step 0: Create a Kubernetes cluster
Let's get started by creating a Kubernetes cluster in one of the following cloud providers:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
important
Make sure the latest version of Azure CLI (az
) is installed before proceeding.
Run this az
command to create a bare minimum cluster with 2 Standard_D4s_v3
nodes:
You can then get access credentials by running:
tip
Once you are done with these quick start steps, see adding more nodes to add additional CPU or GPU nodes to your cluster.
Step 1: Install Onepanel
Download the latest
opctl
for your operating system from our release page.- Linux
- macOS
- Windows
# Download the binarycurl -sLO https://github.com/onepanelio/core/releases/latest/download/opctl-linux-amd64# Make binary executablechmod +x opctl-linux-amd64# Move binary to pathmv ./opctl-linux-amd64 /usr/local/bin/opctl# Test installationopctl versionRun the following command to initialize a
params.yaml
template for your provider:- Azure AKS
- Amazon EKS
- Google Cloud GKE
opctl init --provider aks \--artifact-repository-provider abs \--gpu-device-plugins nvidianote
Currently, valid options for
--artifact-repository-provider
flag ares3
andabs
.The
s3
option supports Amazon S3 and any S3 compatible object storage like Minio and GCS (with HMAC key enabled).The
abs
option supports Azure Blob Storage.Populate
params.yaml
by following the instructions in the template, and referring to configuration file sections for more detailed information.Finally, run the following command to deploy Onepanel to your cluster:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
opctl applynote
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.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 statusCreate the appropriate DNS record in your DNS provider based on the instructions above.
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, reach out in Slack or GitHub discussions.
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.
Go to Workspaces and click Create Workspace.
Select the CVAT template and enter a name for your Workspace.
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 3 volumes, so make sure to pick a machine that can support at least that many volumes.
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.
Click Create and Run to launch your CVAT Workspace.
Once CVAT is running, click View.
In CVAT, click Create new task.
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.
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.
Click Submit and then click the Tasks menu item to go to the tasks list.
Click Open to open task details.
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.
Click on Open for a task you want to train a model on.
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.
Click on Actions for a task you want to train a model on. Then, click on Execute training Workflow.
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.
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.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.
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.