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.
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.
Create a New Project
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.
On successful creation of the project, you will be taken to the 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
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
predict.pyfile 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.ymlcontains 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.
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.
# 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
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
That's it, your iris prediction API is now live
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'
Help us improve the documentation. Flag errors, issues or request how-tos, guides and tutorials on our
#documentation channel on our Slack