Ciao - Kernel for Kubeflow in Jupyter Notebook
![Coverage Status](https://coveralls.io/repos/github/caicloud/ciao/badge.svg?branch=master)
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](https://github.com/caicloud/ciao/raw/v0.0.1/docs/images/ciao-sos-integration.gif)
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.