Project Setup

This is the first and a necessary step in building your machine learning project. We recommend that you use the full power JupyterLab IDE for your project but you can also work from CLI on your local machine.

Create a new project

In rorodata, a project is unit workspace for app you are building. While you can deploy multiple apps/APIs from a single project, we recommend that each project should focus one specific objective.

From Dashboard

Dashboard is the most simple way of getting started with a new project. Click on the New Project button in the dashboard and get started.

From CLI

You can also start a new project from the CLI of your local machine. Just use the roro create <project-name> command to get started. Ensure that you have the rorodata CLI toolbelt installed - use pip to install the latest version. Please login to your account from CLI using roro login before creating a project.

# Create a new project from CLI
$ roro create my-new-project
Created project: my-new-project

# Get a list of existing projects
$ roro projects
my-new-project

The platform expects each project name to be unique. You cannot recycle old project names, even if the project is deleted.

Configuration

Your machine learing model code resides on your local machine or a repo cloned to your JupyterLab IDE. To run experiments with model you need to create a simple configuration file roro.yml. The configuration file contains project name, your choosen runtime enviroment and other details of training, hardware to use etc. This configuration file should be present in the root of your project. Each project has it's own roro.yml configuration file. Below is a sample configuration file for a style-transfer project:

project: style-transfer-demo
runtime: python3-keras

services:
    - name: default
      function: StyleTransfer.style_transfer # File_Name.function_name
      cors_allow_origins: "*" # CORS support for the RESTFul API
      size: S2

The services section specifies function to be deployed as an API or command or script that needs to be executed. In the above case we have function style_transfer from file StyleTransfer.py in the project folder. You can add as many services to the configuration file.

Additional library dependencies not present in the runtime can be added to the project context using a simple requirements.txt placed in the project alongside roro.yml.

To run a script, use command, followed by the command you want to execute, instead of function, checkout the following example:

project: style-transfer-demo
runtime: python3-keras

services:
    - name: default
      command: python train.py
      size: S2

    - name: single-page
      command: python -m http.server 8080
      size: S2

Feedback

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