A repository to host extended examples and tutorials
Go to file
Jeremy Lewi ef108dbbcc Update training to use Kubeflow 0.4 and add testing. (#465)
* Update training to use Kubeflow 0.4 and add testing.

* To support testing we need to create a ksonnet template to train
  the model so we can easily subsitute in different parameters during
  training.

* We create a ksonnet component for just training; we don't use Argo.
  This makes the example much simpler.

* To support S3 we add a generic ksonnet parameter to take environment
  variables as a comma separated list of variables. This should make it
  easy for users to set the environment variables needed to talk to S3.
  This is compatible with the existing Argo workflow which supports S3.

* By default the training job runs non-distributed; this is because to
  run distributed the user needs a shared filesystem (e.g. S3/GCS/NFS).

* Update the mnist workflow to correctly build the images.

  * We didn't update the workflow in the previous example to actually
    build the correct images.

* Update the workflow to run the tfjob_test

* Related to #460 E2E test for mnist.

* Add a parameter to specify a secret that can be used to mount
  a secret such as the GCP service account key.

* Update the README with instructions for GCS and S3.

* Remove the instructions about Argo; the Argo workflow is outdated.

  Using Argo adds complexity to the example and the thinking is to remove
  that to provide a simpler example and to mirror the pytorch example.

* Add a TOC to the README

* Update prerequisite instructions.

  * Delete instructions for installing Kubeflow; just link to the
    getting started guide.

  * Argo CLI should no longer be needed.

  * GitHub token shouldn't be needed; I think that was only needed
    for ksonnet to pull the registry.

* * Fix instructions; access keys shouldn't be stored as ksonnet parameters
  as these will get checked into source control.
2019-01-10 12:42:45 -08:00
agents Update PVC to /home/jovyan (#119) 2018-07-13 14:39:26 -07:00
code_search An Argo workflow to use as the E2E test for code_search example. (#446) 2018-12-28 16:12:32 -08:00
codelab-image Update Ksonnet version, Add Python2 pip (#216) 2018-08-07 22:58:20 -07:00
demos Add components (#402) 2018-12-05 15:06:42 -08:00
financial_time_series Fix example documentation (#447) 2018-12-28 18:11:33 -08:00
github_issue_summarization GIS E2E test verify the TFJob runs successfully (#456) 2019-01-08 15:06:49 -08:00
mnist Update training to use Kubeflow 0.4 and add testing. (#465) 2019-01-10 12:42:45 -08:00
object_detection create pv for pets-pv (#439) 2018-12-21 06:05:11 -08:00
pipelines Delete readme (#294) 2018-11-01 19:41:55 -07:00
pytorch_mnist Update pytorch_mnist example to use v1beta1 (#445) 2019-01-09 05:27:35 -08:00
test/workflows Update training to use Kubeflow 0.4 and add testing. (#465) 2019-01-10 12:42:45 -08:00
xgboost_ames_housing fix directories in Dockerfile (#416) 2018-12-08 14:53:10 -08:00
.gitignore Add estimator example for github issues (#203) 2018-08-24 18:10:27 -07:00
.pylintrc add object detection grpc client (#378) 2018-12-06 18:51:24 -08:00
CONTRIBUTING.md Added tutorial for object detection distributed training (#74) 2018-07-03 14:10:20 -07:00
LICENSE Initial commit 2018-02-01 13:13:10 -08:00
OWNERS Remove inactive reviewers/approvers. (#296) 2018-11-02 08:34:20 -07:00
README.md Removed empty application centric section. (#375) 2018-12-14 18:36:18 -08:00
prow_config.yaml Continuously build the docker images used by mnist. (#462) 2019-01-08 15:21:49 -08:00

README.md

kubeflow-examples

A repository to share extended Kubeflow examples and tutorials to demonstrate machine learning concepts, data science workflows, and Kubeflow deployments. The examples illustrate the happy path, acting as a starting point for new users and a reference guide for experienced users.

This repository is home to the following types of examples and demos:

End-to-end

GitHub issue summarization

Author: Hamel Husain

This example covers the following concepts:

  1. Natural Language Processing (NLP) with Keras and Tensorflow
  2. Connecting to Jupyterhub
  3. Shared persistent storage
  4. Training a Tensorflow model
    1. CPU
    2. GPU
  5. Serving with Seldon Core
  6. Flask front-end

Pytorch MNIST

Author: David Sabater

This example covers the following concepts:

  1. Distributed Data Parallel (DDP) training with Pytorch on CPU and GPU
  2. Shared persistent storage
  3. Training a Pytorch model
    1. CPU
    2. GPU
  4. Serving with Seldon Core
  5. Flask front-end

MNIST

Author: Elson Rodriguez

This example covers the following concepts:

  1. Image recognition of handwritten digits
  2. S3 storage
  3. Training automation with Argo
  4. Monitoring with Argo UI and Tensorboard
  5. Serving with Tensorflow

Distributed Object Detection

Author: Daniel Castellanos

This example covers the following concepts:

  1. Gathering and preparing the data for model training using K8s jobs
  2. Using Kubeflow tf-job and tf-operator to launch a distributed object training job
  3. Serving the model through Kubeflow's tf-serving

Financial Time Series

Author: Sven Degroote

This example covers the following concepts:

  1. Deploying Kubeflow to a GKE cluster
  2. Exploration via JupyterHub (prospect data, preprocess data, develop ML model)
  3. Training several tensorflow models at scale with TF-jobs
  4. Deploy and serve with TF-serving
  5. Iterate training and serving
  6. Training on GPU

Component-focused

XGBoost - Ames housing price prediction

Author: Puneith Kaul

This example covers the following concepts:

  1. Training an XGBoost model
  2. Shared persistent storage
  3. GCS and GKE
  4. Serving with Seldon Core

Demos

Demos are for showing Kubeflow or one of its components publicly, with the intent of highlighting product vision, not necessarily teaching. In contrast, the goal of the examples is to provide a self-guided walkthrough of Kubeflow or one of its components, for the purpose of teaching you how to install and use the product.

In an example, all commands should be embedded in the process and explained. In a demo, most details should be done behind the scenes, to optimize for on-stage rhythm and limited timing.

You can find the demos in the /demos directory.

Third-party hosted

Source Example Description

Get Involved

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

The Kubeflow community is guided by our Code of Conduct, which we encourage everybody to read before participating.