{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import kfp\n", "from kfp import dsl\n", "\n", "\n", "def SendMsg(trial, epoch, patience):\n", " vop = dsl.VolumeOp(name=\"pvc\",\n", " resource_name=\"pvc\", size='5Gi', \n", " modes=dsl.VOLUME_MODE_RWO)\n", "\n", " return dsl.ContainerOp(\n", " name = 'Train', \n", " image = 'hubdocker76/demotrain:v8', # use this prebuilt image or replace image with your own custom image\n", " command = ['python3', 'train.py'],\n", " arguments=[\n", " '--trial', trial,\n", " '--epoch', epoch,\n", " '--patience', patience\n", " ],\n", " pvolumes={\n", " '/data': vop.volume\n", " }\n", " )\n", "\n", "def GetMsg(comp1):\n", " return dsl.ContainerOp(\n", " name = 'Evaluate',\n", " image = 'hubdocker76/demoeval:v3', # use this prebuilt image or replace image with your own custom image\n", " pvolumes={\n", " '/data': comp1.pvolumes['/data']\n", " },\n", " command = ['python3', 'eval.py']\n", " )\n", "\n", "@dsl.pipeline(\n", " name = 'face pipeline',\n", " description = 'pipeline to detect facial landmarks')\n", "def passing_parameter(trial, epoch, patience):\n", " comp1 = SendMsg(trial, epoch, patience).add_pod_label(\"kaggle-secret\", \"true\")\n", " comp2 = GetMsg(comp1)\n", "\n", "if __name__ == '__main__':\n", " import kfp.compiler as compiler\n", " compiler.Compiler().compile(passing_parameter, 'facial-keypoints-detection-kfp.py.yaml')\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "kubeflow_notebook": { "autosnapshot": true, "experiment": { "id": "", "name": "" }, "experiment_name": "", "katib_metadata": { "algorithm": { "algorithmName": "grid" }, "maxFailedTrialCount": 3, "maxTrialCount": 12, "objective": { "objectiveMetricName": "", "type": "minimize" }, "parallelTrialCount": 3, "parameters": [] }, "katib_run": false, "pipeline_description": "", "pipeline_name": "", "snapshot_volumes": true, "steps_defaults": [ "label:access-ml-pipeline:true", "label:access-rok:true" ], "volume_access_mode": "rwm", "volumes": [ { "annotations": [], "mount_point": "/home/jovyan", "name": "test-face-keypoint-workspace-54wqj", "size": 5, "size_type": "Gi", "snapshot": false, "type": "clone" } ] }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }