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 or locally on MicroK8s.
- Labelling your images or video using the integrated annotation Workspace.
- Training your model with the newly labelled data using the integrated training Workflows.
- Automatically annotating new data using your newly trained model.
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 major cloud providers or locally with MicroK8s:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
- MicroK8s
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
- MicroK8s
# 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
- MicroK8s
opctl init --provider aks \--artifact-repository-provider abs \--gpu-device-plugins nvidianote
Currently, valid options for
--artifact-repository-provider
flag ares3
,gcs
andabs
.The
s3
option supports Amazon S3 and any S3 compatible object storage like Minio.The
gcs
option supports Google Cloud Storage.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.Label your nodes if applicable.
- Azure AKS
- Amazon EKS
- Google Cloud GKE
- MicroK8s
Azure AKS automatically labels nodes with
node.kubernetes.io/instance-type=<cloud-provider-instance-type>
.Run the following command to deploy Onepanel to your cluster:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
- MicroK8s
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:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
- MicroK8s
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.
Use the following command to get your auth token to log into Onepanel:
- Azure AKS
- Amazon EKS
- Google Cloud GKE
- MicroK8s
opctl auth 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.
important
You will most likely need to use a GPU node pool for Step 3: Train a model on annotated data below. See adding more nodes for instructions on adding GPU node pools to your cluster.
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.
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.
Assuming you have already uploaded your images or videos to your object storage, under "Select files", click Connected file share.
Click the Onepanel icon in bottom right corner to bring up the Workspace panel.
Under Workspace path, type in the path to use to sync your object storage data to, then browse to the folder containing your images or videos under Object storage location.
Click Sync to Workspace to sync your files to this Workspace. Once syncing is complete, click Refresh and select your files.
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
You can train object detection or semantic segmentation models directly from CVAT, which you can then use to automatically pre-annotate new data. This dramatically reduces the time it takes to train new models and iteratively improve your models. Moreover, apart from default models that we provide, you easily add custom model training Workflows and use them for pre-annotation as well.
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 a training Workflow Template. By default, you can use TF Object Detection Training for object detection or MaskRCNN Training for semantic segmentation.
Update hyperparameters depending on your model and data. These training Workflows also include data augmentation fields that you can adjust accordingly as well.
Click Submit. This will execute the training Workflow for the selected model. You can view real-time logs and view TensorBoard by clicking Open Workflow details.
Step 4: Use trained model for automatic annotation
If you want to use your trained model for automatic annotation in CVAT, follow the steps outlined in Using trained models for automatic annotation.
Next steps
You can also easily add your own custom model training Workflows. See adding custom models for more information on adding custom models.