Ciao - Kernel for Kubeflow in Jupyter Notebook
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.
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.