5-minute Quickstart

In this section, you'll learn how to delpoy a simple deep learning application. We'll start with a brief walkthrough of the contents of the application folder and then we'll have you deploy the application.

Create an account

You can create an account by simply signing-up through the rorodata website. Start with the Hobby Tier, no credit cad required. Sign Up and get started.

Dashboard

On successful login, you will be taken to the dashboard. The dashboard is your command center to manage projects and experiments. Here you quickly see a summary of all the active projects and processes.

dashboard

Create a New Project

Click on New Project button to create a new project. Give your project a name and select an appropriate runtime. We will choose the 'python3-keras' for this demo.

New Project

On successful creation of the project, you will be taken to the project page.

Project Page

Clone a project

Click on the JupyterLab button and choose the appropriate hardware for your project. You will have at least two hardware choices. The JupyterLab IDE will open in a new window. Now you can write your own project files or clone an existing project from GitHub. We will use the ever famous iris project, you can start with any project of your choice. Click on the terminal button to get started.

# bash
root:/volumes/notebook# git clone https://github.com/rorodata/iris-demo.git
...

root:/volumes/notebook# cd iris-demo

Clone Project

You can see all the files in the project folder in the left-side column in the IDE. The folder has many files similar to any Python project. Some of the key files are as follows:

  • Files pertaining to the project are train.py and predict.py. The predict.py file contains all the details pertaining to the model used and pre-processing functions
  • Notebook sub-folder contains the ipython notebook used to prototype and test the model
  • roro.yml contains the configuration for the project we will deploy

Before we go forward, you will need to login again in the JupyterLab terminal. Use roro login to complete the process.

Running experiments

Now fire-up the notebook and the roro.yml in the IDE as shown below. You can walthrough the notebook for detailed working of the model and it's features. We will focus on the training part for now. Start the model training using the roro run command. Please note the complete file path in the command.

Project Setup

# root:/volumes/notebook# roro run python /volumes/notebooks/iris-demo/train.py

Check the progress of the expriment using roro logs <JOBID> and status of your process with roro ps

Once the model is successfully trained, its weights are saved. You can also version your models, more on that here.

Deploy your model as an API

The trained model is now wrapped in the predict function in the predict.py file and we will deploy this function as a service.

Before we deploy we need to edit the roro.yml configuration file. This is an important file that is reqiured for the deploy. Just edit the project name, in this case demo-iris and we are good to go. You can choose a hardware of your choice. We have chosen the smallest instance S1.

# root:/volumes/notebook# roro deploy
Deploying project demo-iris. This may take a few moments ...
Building docker image ... done
Updating scheduled jobs ... done
Started 1 service.

    default: https://demo-iris.rorocloud.io/

Deployed version 1 of demo-iris project

Deploy

That's it, your iris prediction API is now live

Extras

Use the roro client to consume the API. Simply call the API endpoint with image input or a publicly available URL.

>> import roro
>> api = roro.Client("https://<your-project-name>.rorocloud.io/")
>> response = api.predict(sepal_length=6.3, sepal_width=3.3, petal_length=6.0, petal_width=2.5)
>> 'virginica'

Feedback

Help us improve the documentation. Flag errors, issues or request how-tos, guides and tutorials on our #documentation channel on our Slack