Concepts

In this section, you will be introduced to some of the concepts that are frequently refered in the API and documentation.

Project

Project is a unit "workspace" that contains all the files and configurations pertaining to your machine learning API. Each project has a special file named roro.yml. The roro.yml file is a configuration file used to describe the project and it's runtime environment.

Structure

  • Project name
  • Runtime environment
  • Services to deploy
  • Periodic taks

Example

face-detection/
    |___ predict.py
    |___ requirements.txt
    |___ roro.yml
    |___ train.py   

The structure for roro.yml file is given below:

project: <your-project-name>
runtime: <runtime-choice>

services:
    - name: default
      function: <file-name>.<function-name>
      size: <hardware-size>                 # optional
    - name: <name>
      function: <file-name>.<function-name>
      size: <hardware-size>                 # optional
tasks
    - name: <task-name>
      command: <python command> 
      size: <hardware-size>                 # optional
      when: <specify time frequency>

Example

# roro.yml

project: face-detection
runtime: python3-keras

services:
    - name: default
      function: predict.predict
      size: M1

tasks:
    - name: train
      command: python train.py
      size: G1
      when: every day at 11:55

Runtime Environment

Each project has a specific runtime environment, which defines the base software environment used for the project. The runtime includes two docker images, one for CPU and another one for GPU.

runtime environment for each project is specified in the roro.yml configuration file. List of available runtimes are given below

Python 3

Runtime Libraries Supported
python3 Python 3.X with Scikit Learn, Pandas, and other common Pydata libraries
python3-tensorflow python3 + Tensorflow
python3-keras python3 + Tensorflow + Keras
python3-pytorch python3 + PyTorch

Python 2

Runtime Libraries Supported
python2 Python 2.X with Scikit Learn, Pandas, and other common Pydata libraries
python2-keras python3 + Tensorflow + Keras

You can change the runtime of your project any time through the dashboard.

Feedback

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