Applications

What is Applications?

Cordatus AI Platform enables you to discover the full potential of your devices by offering various of ready-to-run modern applications.

Run Modern Computer Vision Applications

Now you can run most popular computer vision applications such as;

  • object detection
  • image classification
  • semantic segmentation
  • instance segmentation
  • keypoint detection
  • pose estimation

and many more without installing or building anything to your device.

Applications

Since Cordatus AI is based on Docker containers, everything you will need to run sample applications is already built, packed and optimized for NVIDIA CUDA®.

Hint

If you have an unoptimized deep learning model and not sure how it will perform on Jetson devices, you can benchmark various pre-trained models that are optimized with NVIDIA TensorRT®.

Applications

You can choose between the applications provided by Cordatus Team and NVIDIA NGC.

Difference

Since Cordatus Team is focused on developing optimized AI algorithms on NVIDIA Jetson platforms; Tensorflow, PyTorch, MXNet, OpenCV and DLib images with by Cordatus suffix has Jetson-optimized versions too.

Warning

In order to use environments with by NVIDIA suffix, you need to register and login to NVIDIA NGC.

Each application has their versionings and compatible platforms information. Each box displays if that application has GPU support and platform support on the bottom-right side of the box.

Applications

If you want to read further and get more information regarding to each application, you can just simply click on the headers inside the boxes.

Applications

Hint

You can inspect framework, OS and library versions of each environment from within the Versions tab.

Applications

Start Your First Application

Environments can be started by either using Cordatus Web Interface or Cordatus Client App.

Warning

Each method requires you to have Cordatus Client App installed on your device.

  • Starting applications from Cordatus Web Interface

    In order to start your environments from web interface;

First start Cordatus Client App on your device via terminal by entering cordatus command or from Ubuntu GUI. Welcome

Choosing the application

Once you open the client application, open Cordatus Web Interface from your browser and navigate to the Containers > Applications tab.

Applications

Let's continue to this tutorial with the Detectron2 application.

Next, click Detectron2 header inside the first box and you will see the details of the environment.

Device selection

DEPLOYMENT

To start deploying applications on your devices, simply click Start Application on Your Devices button under the main header.

Choose a device that you want deploy the application on by simply clicking on the row. Environments

Check if your device succesfully selected and then click NEXT STEP Environments

Application version selection

Select an application version from the list and click NEXT STEP.

Warning

Some of the applications has only one version at the moment since they are up-to-date. More versions will be added once each application's source code gets updated in the future.

Since Detectron2 application has only one version for PC/Server/Workstation (x86-64 platform), simply click on the detectron2 row. Then click **NEXT- Environments

Jupyter Settings

In this step, you can choose whether if JupyterLab will start within the environment or not. For the sake of explanation, we will start the Jupyter for this tutorial. In order to do that, simply switch-on the Jupyter button. Environments

When you switch-on the Jupyter button, you will be prompted for a few entries.

Info

Password: If you want to protect your development environment, provide a secure password. Everytime you re-open JupyterLab, you will be asked to enter this password.

Token: You can also use token authorization to protect your environment. Simply click Generate Token button and Cordatus will provide you a secure token. Do not forget to note it down!

Jupyter Starting Point: You can specify a working directory for Jupyter. When your environment starts, the Jupyter will also start within the specified directory.

When you are done with the settings, click NEXT STEP button.

DON'T

If you specify a random non-existing directory, Jupyter will fail to start.

You can disable password or token protection for your Jupyter environment so when you start the environment, Jupyter will not ask for your password or token.

Environments

Application name and folder binding

Next, provide a name for your environment and click NEXT STEP. If you don't provide it, Docker will assign a random name for your environment.

You can also bind local volumes to your environment. This enables you to access your necessary assets like datasets, pre-trained models, codes etc. from within your application. In order to do this, simply click on the Add Folder Bindind (0 Folder bound) button.

Environments

Warning

In order to test this feature, create folder named cordatus_bind under /home/$USER directory and copy any kind of file inside it.

Add Folder Binding Options

  • Source Folder: This is the full path for a directory on the host device that you want to access it from within your application. (For eg. /home/$USER/cordatus_bind)

  • Target Folder: This is the full path for a directory that will be created within your application container. All includings of the Source Folder will appear inside this directory when you start your application. (For eg. /root/cordatus_bind)

Hint

It is a good practice to keep target folder's name same as the folder name you created on the host device.

When you are done with the configuration, click on the NEXT STEP button.

Review and deploy

Now you can review your selections within this screen. Environments

If everything looks OK, you can now click on the START APPLICATION ON <device_name> button.

Accessing to JupyterLab from application page

Now your application and JupyterLab should be started and you will be redirected to Control Panel pane of the application on Cordatus Web Interface.

Applications

To access to your Jupyter environment, click on Jupyter button and your browser will redirect you to your Jupyter environment.

Accessing to JupyterLab from Devices tab

To access and manage containers from Cordatus Web Interface, navigate to Devices tab from top bar.

Next, navigate to Containers pane. You can now see your application container first-app is Running. Applications

You can simply click on the Jupyter button under the Actions column.

Cordatus Remote Access Tunnel

Cordatus Remote Access Tunnel

If you start an environment with Jupyter via Cordatus Web Interface, you will have a custom global web address to access your Jupyter environment from anywhere and anytime.

Since we started our environment with Jupyter via Cordatus Web Interface, we can access our Jupyter environment globally.

In order to access our development environment, simply click on the Jupyter button on the middle-right side of the page and you will be redirected to Jupyterlab's home screen. Applications

Global Web Address

You can now copy the web address from the search bar and access to your Jupyter from everywhere and anytime.

eg. https://fuzzy-xxxx-70.crdts.cc/lab? (This address will be different for you)

  • Starting applications from Cordatus Client App

Determine the application

From the Home () screen of the Cordatus Client App, navigate to () tab from the top-left side of the app. Applications

From the applications list, choose one for your needs and click on Create Environment button placed inside the related box. Applications

Let's continue to this tutorial with the Detectron2 environment.

Next, you can specify a name for your application container under Application Name. If you don't provide a name, Docker will assign a random one.

Camera Utilization

You can also select a camera from this menu that will be utilized by the application. This enables you to use single or multiple cameras within the AI applications.

Applications

Camera testing

Once you select a camera, you can test it if it works properly at the moment by simply clicking on the Test Camera button. Applications

Success

If your camera works properly, you should now see your camera stream within a pop-up.

Applications

Application version selection

Once you are done with the camera, you can scroll down and SELECT the application version that fits your requirements.

Applications

Check Marks?

: This version of the image is already downloaded on your system.

Jupyter settings

Warning

Since most applications on Cordatus AI Platform also includes Jupyter Notebook tutorials prepared by Cordatus team for that specific application, it is best for you to keep Jupyter setting on for all applications.

In this step, you can choose whether if JupyterLab will start within the application or not. For the sake of explanation, we will start the Jupyter for this tutorial. In order to do that, simply switch-on the Jupyter button. Applications

When you switch-on the Jupyter button, you will be prompted for a few entries.

Info

Password: If you want to protect your development environment, provide a secure password. Everytime you re-open JupyterLab, you will be asked to enter this password.

Token: You can also use token authorization to protect your environment. Simply click Generate Token button and Cordatus will provide you a secure token. Do not forget to note it down!

You can disable password or token protection for your Jupyter environment so when you start the application, Jupyter will not ask for your password or token.

When you are done with the settings, click NEXT STEP button.

Applications

Folder binding

You can also bind local volumes to the applications. This enables you to access your necessary assets like datasets, pre-trained models, codes etc. from within the applications. In order to do this, simply click on the Folders button. Applications

Warning

In order to test this feature, create folder named cordatus_bind under /home/$USER directory and copy any kind of file inside it.

When you click Browse button, it will open a file dialog. Now select the cordatus_bind folder you just created from the /home/$USER directory and click OK from the upper-right side of the dialog window.

For the Docker Target Path input area, you need to specify a full path. This will create the specified directory and the folder inside your application environment upon start.

Binding Example

Host path: /home/$USER/cordatus_bind

Target path: /root/cordatus_bind

Hint

It is a good practice to keep target folder's name same as the folder name you created on the host device.

Review and deploy

Once you are done with the above settings, click on the blue Play button from the lower-right side of the screen.

Then click on the Create now button.

Accessing to JupyterLab from Cordatus App

Now the application and JupyterLab should be started. You can see the application named second-app is Running in the Containers table. Applications

Also you should be able to see the second environment named as second-app under the Contents header on the Home () screen of the app.

To access to your Jupyter environment, simply click on the Jupyter () button. Applications

As you can see in the above picture, our second-app is listed as a container and it's status is Running.

Buttons

: Starts the browser and opens JupyterLab.

: Starts a bash terminal within the environment. You can use it exactly the same way as Ubuntu terminal.

: Stops the environment.

: Starts the environment.

: Deletes the environment.

Cordatus Remote Access Tunnel

Cordatus Remote Access Tunnel

If you start an application with Jupyter via Cordatus Client App, you can create a global web address to access your Jupyter environment from anywhere and anytime.

Since we started our application with Jupyter via Cordatus Client App, we can create a global web address to access our Jupyter application globally.

In order to create a global web address, navigate to () tab and select Containers. Applications

Our environment second-app is listed under containers and it's status is Running. Navigate to Action column and click () button.

Once you prompted with Are you sure? question, click on the Create public URL button.

Now you should be able to see Copy to clipboard! () button appears under the URL column. Click on the () button and Cordatus will automatically copy the URL for you. Applications

Global Web Address

You can now paste the URL to search bar and access to your Jupyter from everywhere and anytime.

eg. https://slimy-xxxx-90.crdts.cc/lab? (This address will be different for you)

Applications

  • Example Walktrough: Tensorflow-TensorRT Models

    In this guide, you will learn how to access every application's own customized Introduction and Tutorial Jupyter Notebooks.

Let's take Tensorflow-TensorRT Models application as an example.

Once you start the application through Cordatus Client App with the desired configurations, you should be able to see it at the Home () screen of the client app as shown in the following figure:

To access to your Jupyter environment, simply click on the Jupyter () button. Applications