Skip to content

caicloud/ciao

Repository files navigation

Ciao - Kernel for Kubeflow in Jupyter Notebook

Go Report Card Build Status Coverage Status

Ciao is still in early development -- it is not feature-complete or production-ready. Please try our experimental kernel and give us your feedback.

Overview

Ciao is a jupyter kernel for Kubeflow. The name of the project Ciao comes from Italian:

The word "ciao" (/ˈtʃaʊ/; Italian pronunciation: [ˈtʃaːo]) is an informal salutation in the Italian language that is used for both "hello" and "goodbye".

Ciao's goal is to simplify the machine learning workflow using Kubeflow. Currently, users could create a distributed model training job from Jupyter Notebook and get the logs of all replicas (parameter servers and workers) in the output.

Demo

Please see the Demo Show.

Ciao and SOS integration

Usage

There are some magic commands supported by Ciao:

%framework=tensorflow
%ps={number}
%worker={number}
%cleanPolicy=all/running/none

or

%framework=pytorch
%master={number}
%worker={number}
%cleanPolicy=all/running/none

When there is no resource set in magic commands, by default it will use resource from config file. You can also override the config by specifying magic commands below:

%framework=tensorflow
%ps={number};%cpu={cpu};%memory={mem}
%worker={number};%cpu={cpu};%memory={mem}
%cleanPolicy=all/running/none

Please pay attention about some points:

  • The job role need to be the first command of one line.
  • The resource config of one role of job need to be in the same line with the job role.
  • Magic commands are separated by ';'

Examples

Installation

Please see the Installation Guide.

Design Document

Please see the Design Document to know the architecture of Ciao.

Acknowledgments

  • Thank kubeflow/kubeflow for the awesome operators which supports TensorFlow/PyTorch and many other ML frameworks on Kubernetes.
  • Thank gopherdata/gophernotes for the reference implementation of Jupyter Kernel in Golang.