Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
pkg
 
 
s2i
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.