Update readme for xgboost-synthetic and remove outdated yaml file (#605)

* Update readme for xgboost-synthetic and remove outdated yaml file.

* Update the class name to be more general.

* Update readme.

* Set google_application_credentials in the notebook.

* Install fairing from master branch.

* Do not set credentials again.

* Update readme.
This commit is contained in:
Chun-Hsiang Wang 2019-07-22 18:20:54 -07:00 committed by Kubernetes Prow Robot
parent fb6cd69def
commit 6e5ba488e2
3 changed files with 125 additions and 43 deletions

View File

@ -1,9 +1,11 @@
# xgboost-synthetic
Kubeflow fairing, pipelines demo using synthetic data
Kubeflow fairing, pipelines demo using synthetic data. This notebook `build-train-deploy.ipynb` can be executed using one of the stock notebook images launched through Kubeflow UI.
1. Launch a notebook
1. Follow the [Set up your notebook](https://www.kubeflow.org/docs/notebooks/setup/) guide to get started with Jupyter notebooks on Kubeflow
```
kubectl apply -f notebook.xgboost-synthetic.yaml
```
1. Attach an extra data volume named
1. Open the notebook terminal and run
```
$ git clone https://github.com/kubeflow/examples.git
```
1. In the directory `xgboost_synthetic`, open the notebook `build-train-deploy.ipynb`

View File

@ -29,6 +29,116 @@
"Import the libraries required to train this model."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: retrying in ./env/lib/python3.6/site-packages\n",
"Requirement already satisfied: six>=1.7.0 in ./env/lib/python3.6/site-packages (from retrying)\n",
"Collecting https://github.com/kubeflow/fairing/archive/master.zip\n",
" Downloading https://github.com/kubeflow/fairing/archive/master.zip (878kB)\n",
"\u001b[K 100% |████████████████████████████████| 880kB 1.6MB/s eta 0:00:01\n",
"\u001b[?25h Requirement already satisfied (use --upgrade to upgrade): fairing==0.5.3 from https://github.com/kubeflow/fairing/archive/master.zip in ./env/lib/python3.6/site-packages/fairing-0.5.3-py3.6.egg\n",
"Requirement already satisfied: docker>=3.4.1 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: notebook>=5.6.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: kubernetes>=9.0.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: future>=0.17.1 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: six>=1.11.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: google-cloud-storage>=1.13.2 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: requests>=2.21.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: setuptools>=34.0.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: google-auth>=1.6.2 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: httplib2>=0.12.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: oauth2client>=4.0.0 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: tornado<6.0.0,>=5.1.1 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: google-api-python-client>=1.7.8 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: cloudpickle>=0.8 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Requirement already satisfied: numpy>=1.14 in ./env/lib/python3.6/site-packages (from fairing==0.5.3)\n",
"Collecting urllib3==1.24.2 (from fairing==0.5.3)\n",
" Using cached https://files.pythonhosted.org/packages/df/1c/59cca3abf96f991f2ec3131a4ffe72ae3d9ea1f5894abe8a9c5e3c77cfee/urllib3-1.24.2-py2.py3-none-any.whl\n",
"Requirement already satisfied: boto3>=1.9.0 in ./env/lib/python3.6/site-packages/boto3-1.9.187-py3.6.egg (from fairing==0.5.3)\n",
"Requirement already satisfied: websocket-client>=0.32.0 in ./env/lib/python3.6/site-packages (from docker>=3.4.1->fairing==0.5.3)\n",
"Requirement already satisfied: nbconvert in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: prometheus-client in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: traitlets>=4.2.1 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: pyzmq>=17 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: Send2Trash in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: jupyter-client>=5.2.0 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: ipython-genutils in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: nbformat in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: ipykernel in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: terminado>=0.8.1 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: jinja2 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: jupyter-core>=4.4.0 in ./env/lib/python3.6/site-packages (from notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: certifi>=14.05.14 in ./env/lib/python3.6/site-packages (from kubernetes>=9.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: python-dateutil>=2.5.3 in ./env/lib/python3.6/site-packages (from kubernetes>=9.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: requests-oauthlib in ./env/lib/python3.6/site-packages (from kubernetes>=9.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: pyyaml>=3.12 in ./env/lib/python3.6/site-packages (from kubernetes>=9.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: google-resumable-media>=0.3.1 in ./env/lib/python3.6/site-packages (from google-cloud-storage>=1.13.2->fairing==0.5.3)\n",
"Requirement already satisfied: google-cloud-core<2.0dev,>=1.0.0 in ./env/lib/python3.6/site-packages (from google-cloud-storage>=1.13.2->fairing==0.5.3)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in ./env/lib/python3.6/site-packages (from requests>=2.21.0->fairing==0.5.3)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./env/lib/python3.6/site-packages (from requests>=2.21.0->fairing==0.5.3)\n",
"Requirement already satisfied: rsa>=3.1.4 in ./env/lib/python3.6/site-packages (from google-auth>=1.6.2->fairing==0.5.3)\n",
"Requirement already satisfied: cachetools>=2.0.0 in ./env/lib/python3.6/site-packages (from google-auth>=1.6.2->fairing==0.5.3)\n",
"Requirement already satisfied: pyasn1-modules>=0.2.1 in ./env/lib/python3.6/site-packages (from google-auth>=1.6.2->fairing==0.5.3)\n",
"Requirement already satisfied: pyasn1>=0.1.7 in ./env/lib/python3.6/site-packages (from oauth2client>=4.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: uritemplate<4dev,>=3.0.0 in ./env/lib/python3.6/site-packages (from google-api-python-client>=1.7.8->fairing==0.5.3)\n",
"Requirement already satisfied: google-auth-httplib2>=0.0.3 in ./env/lib/python3.6/site-packages (from google-api-python-client>=1.7.8->fairing==0.5.3)\n",
"Requirement already satisfied: botocore<1.13.0,>=1.12.187 in ./env/lib/python3.6/site-packages/botocore-1.12.187-py3.6.egg (from boto3>=1.9.0->fairing==0.5.3)\n",
"Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in ./env/lib/python3.6/site-packages/jmespath-0.9.4-py3.6.egg (from boto3>=1.9.0->fairing==0.5.3)\n",
"Requirement already satisfied: s3transfer<0.3.0,>=0.2.0 in ./env/lib/python3.6/site-packages/s3transfer-0.2.1-py3.6.egg (from boto3>=1.9.0->fairing==0.5.3)\n",
"Requirement already satisfied: pandocfilters>=1.4.1 in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: bleach in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: testpath in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: defusedxml in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: entrypoints>=0.2.2 in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: pygments in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: mistune>=0.8.1 in ./env/lib/python3.6/site-packages (from nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: decorator in ./env/lib/python3.6/site-packages (from traitlets>=4.2.1->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in ./env/lib/python3.6/site-packages (from nbformat->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: ipython>=5.0.0 in ./env/lib/python3.6/site-packages (from ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: ptyprocess; os_name != \"nt\" in ./env/lib/python3.6/site-packages (from terminado>=0.8.1->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in ./env/lib/python3.6/site-packages (from jinja2->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: oauthlib>=3.0.0 in ./env/lib/python3.6/site-packages (from requests-oauthlib->kubernetes>=9.0.0->fairing==0.5.3)\n",
"Requirement already satisfied: google-api-core<2.0.0dev,>=1.11.0 in ./env/lib/python3.6/site-packages (from google-cloud-core<2.0dev,>=1.0.0->google-cloud-storage>=1.13.2->fairing==0.5.3)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: docutils>=0.10 in ./env/lib/python3.6/site-packages/docutils-0.14-py3.6.egg (from botocore<1.13.0,>=1.12.187->boto3>=1.9.0->fairing==0.5.3)\n",
"Requirement already satisfied: webencodings in ./env/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: pyrsistent>=0.14.0 in ./env/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: attrs>=17.4.0 in ./env/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: pexpect; sys_platform != \"win32\" in ./env/lib/python3.6/site-packages (from ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: jedi>=0.10 in ./env/lib/python3.6/site-packages (from ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: backcall in ./env/lib/python3.6/site-packages (from ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: prompt-toolkit<2.1.0,>=2.0.0 in ./env/lib/python3.6/site-packages (from ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: pickleshare in ./env/lib/python3.6/site-packages (from ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in ./env/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.11.0->google-cloud-core<2.0dev,>=1.0.0->google-cloud-storage>=1.13.2->fairing==0.5.3)\n",
"Requirement already satisfied: pytz in ./env/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.11.0->google-cloud-core<2.0dev,>=1.0.0->google-cloud-storage>=1.13.2->fairing==0.5.3)\n",
"Requirement already satisfied: protobuf>=3.4.0 in ./env/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.11.0->google-cloud-core<2.0dev,>=1.0.0->google-cloud-storage>=1.13.2->fairing==0.5.3)\n",
"Requirement already satisfied: parso>=0.3.0 in ./env/lib/python3.6/site-packages (from jedi>=0.10->ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Requirement already satisfied: wcwidth in ./env/lib/python3.6/site-packages (from prompt-toolkit<2.1.0,>=2.0.0->ipython>=5.0.0->ipykernel->notebook>=5.6.0->fairing==0.5.3)\n",
"Installing collected packages: urllib3\n",
" Found existing installation: urllib3 1.24.3\n",
" Uninstalling urllib3-1.24.3:\n",
" Successfully uninstalled urllib3-1.24.3\n",
"Successfully installed urllib3-1.24.2\n"
]
}
],
"source": [
"!pip3 install retrying\n",
"!pip3 install https://github.com/kubeflow/fairing/archive/master.zip"
]
},
{
"cell_type": "code",
"execution_count": 1,
@ -168,7 +278,7 @@
"outputs": [],
"source": [
"# fairing:include-cell\n",
"class HousingServe(object):\n",
"class ModelServe(object):\n",
" \n",
" def __init__(self, model_file=None):\n",
" self.n_estimators = 50\n",
@ -298,7 +408,7 @@
}
],
"source": [
"HousingServe(model_file=\"mockup-model.dat\").train()"
"ModelServe(model_file=\"mockup-model.dat\").train()"
]
},
{
@ -338,7 +448,7 @@
"source": [
"(train_X, train_y), (test_X, test_y) =read_synthetic_input()\n",
"\n",
"HousingServe().predict(test_X, None)"
"ModelServe().predict(test_X, None)"
]
},
{
@ -411,7 +521,7 @@
],
"source": [
"from fairing.builders import cluster\n",
"preprocessor = ConvertNotebookPreprocessorWithFire(\"HousingServe\")\n",
"preprocessor = ConvertNotebookPreprocessorWithFire(\"ModelServe\")\n",
"\n",
"if not preprocessor.input_files:\n",
" preprocessor.input_files = set()\n",
@ -800,7 +910,7 @@
"pod_spec = builder.generate_pod_spec()\n",
"\n",
"module_name = os.path.splitext(preprocessor.executable.name)[0]\n",
"deployer = serving.serving.Serving(module_name + \".HousingServe\",\n",
"deployer = serving.serving.Serving(module_name + \".ModelServe\",\n",
" service_type=\"ClusterIP\",\n",
" labels={\"app\": \"mockup\"})\n",
" \n",
@ -859,7 +969,7 @@
" containers:\r\n",
" - command:\r\n",
" - seldon-core-microservice\r\n",
" - mockup-data-xgboost-build-train-deploy.HousingServe\r\n",
" - mockup-data-xgboost-build-train-deploy.ModelServe\r\n",
" - REST\r\n",
" - --service-type=MODEL\r\n",
" - --persistence=0\r\n",
@ -1113,7 +1223,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.6.6"
}
},
"nbformat": 4,

View File

@ -1,30 +0,0 @@
apiVersion: kubeflow.org/v1alpha1
kind: Notebook
metadata:
labels:
app: notebook
name: xgboost-synthetic
namespace: kubeflow
spec:
template:
spec:
containers:
- env: []
image: gcr.io/kubeflow-images-public/tensorflow-1.12.0-notebook-cpu:v0.5.0
name: tf-cpu
resources:
limits:
cpu: 8
memory: 16Gi
requests:
cpu: 1
memory: 1Gi
volumeMounts:
- mountPath: /home/jovyan
name: xgboost-synthetic
serviceAccountName: jupyter-notebook
ttlSecondsAfterFinished: 300
volumes:
- name: xgboost-synthetic
persistentVolumeClaim:
claimName: xgboost-synthetic