blob: 391b8b6765bc4eefcf4d3af058ecbfae3926f633 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{112:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return m})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return b}));var a=t(3),r=t(7),l=(t(0),t(144)),i={title:"Experiment Template REST API"},m={unversionedId:"userDocs/api/experiment-template",id:"userDocs/api/experiment-template",isDocsHomePage:!1,title:"Experiment Template REST API",description:"\x3c!--",source:"@site/docs/userDocs/api/experiment-template.md",slug:"/userDocs/api/experiment-template",permalink:"/docs/userDocs/api/experiment-template",editUrl:"https://github.com/apache/submarine/edit/master/website/docs/userDocs/api/experiment-template.md",version:"current",sidebar:"docs",previous:{title:"Environment REST API",permalink:"/docs/userDocs/api/environment"},next:{title:"Notebook REST API",permalink:"/docs/userDocs/api/notebook"}},p=[{value:"Create Experiment Template",id:"create-experiment-template",children:[{value:"Parameters",id:"parameters",children:[]},{value:"Code Example",id:"code-example",children:[]}]},{value:"List Experiment Template",id:"list-experiment-template",children:[{value:"Code Example",id:"code-example-1",children:[]}]},{value:"Patch Experiment Template",id:"patch-experiment-template",children:[{value:"Parameters",id:"parameters-1",children:[]},{value:"Code Example",id:"code-example-2",children:[]}]},{value:"Delete Experiment Template",id:"delete-experiment-template",children:[{value:"Parameters",id:"parameters-2",children:[]},{value:"Code Example",id:"code-example-3",children:[]}]},{value:"Use Template to Create a Experiment",id:"use-template-to-create-a-experiment",children:[{value:"Parameters",id:"parameters-3",children:[]},{value:"Code Example",id:"code-example-4",children:[]}]}],c={toc:p};function b(e){var n=e.components,t=Object(r.a)(e,["components"]);return Object(l.b)("wrapper",Object(a.a)({},c,t,{components:n,mdxType:"MDXLayout"}),Object(l.b)("h2",{id:"create-experiment-template"},"Create Experiment Template"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre"},"POST /api/v1/template\n")),Object(l.b)("h3",{id:"parameters"},"Parameters"),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"In"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"author"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Author name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"description"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Description of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"parameters"),Object(l.b)("td",{parentName:"tr",align:null},"List\\<ExperimentTemplateParamSpec",">"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Parameters of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"experimentSpec"),Object(l.b)("td",{parentName:"tr",align:null},"ExperimentSpec"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Spec of the experiment template.")))),Object(l.b)("h4",{id:"experimenttemplateparamspec"},Object(l.b)("strong",{parentName:"h4"},"ExperimentTemplateParamSpec")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Parameter name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"required"),Object(l.b)("td",{parentName:"tr",align:null},"Boolean"),Object(l.b)("td",{parentName:"tr",align:null},"true / false. Whether the parameter is required.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"description"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Description of the parameter.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"value"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Value of the parameter.")))),Object(l.b)("h4",{id:"experimentspec"},Object(l.b)("strong",{parentName:"h4"},"ExperimentSpec")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"meta"),Object(l.b)("td",{parentName:"tr",align:null},"ExperimentMeta"),Object(l.b)("td",{parentName:"tr",align:null},"Meta data of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"environment"),Object(l.b)("td",{parentName:"tr",align:null},"EnvironmentSpec"),Object(l.b)("td",{parentName:"tr",align:null},"Environment of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"spec"),Object(l.b)("td",{parentName:"tr",align:null},"Map\\<String, ExperimentTaskSpec",">"),Object(l.b)("td",{parentName:"tr",align:null},"Spec of pods.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"code"),Object(l.b)("td",{parentName:"tr",align:null},"CodeSpec"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment codespec.")))),Object(l.b)("h4",{id:"experimentmeta"},Object(l.b)("strong",{parentName:"h4"},"ExperimentMeta")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment Name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"namespace"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment namespace.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"framework"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment framework.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"cmd"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Command.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"envVars"),Object(l.b)("td",{parentName:"tr",align:null},"Map\\<String, String",">"),Object(l.b)("td",{parentName:"tr",align:null},"Environmental variables.")))),Object(l.b)("h4",{id:"environmentspec"},Object(l.b)("strong",{parentName:"h4"},"EnvironmentSpec")),Object(l.b)("p",null,"See more details in ",Object(l.b)("a",{parentName:"p",href:"https://submarine.apache.org/docs/userDocs/api/environment"},"environment api"),"."),Object(l.b)("h4",{id:"experimenttaskspec"},Object(l.b)("strong",{parentName:"h4"},"ExperimentTaskSpec")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"replicas"),Object(l.b)("td",{parentName:"tr",align:null},"Integer"),Object(l.b)("td",{parentName:"tr",align:null},"Numbers of replicas.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"resoureces"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Resouces of the task")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Task name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"image"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Image name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"cmd"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"Command.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"envVars"),Object(l.b)("td",{parentName:"tr",align:null},"Map\\<String, String",">"),Object(l.b)("td",{parentName:"tr",align:null},"Environmental variables.")))),Object(l.b)("h4",{id:"codespec"},Object(l.b)("strong",{parentName:"h4"},"CodeSpec")),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"syncMode"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"sync mode of code spec.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"url"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"url of code spec.")))),Object(l.b)("h3",{id:"code-example"},"Code Example"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"shell")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-sh"},'curl -X POST -H "Content-Type: application/json" -d \'\n{\n "name": "my-tf-mnist-template",\n "author": "author",\n "description": "This is a template to run tf-mnist",\n "parameters": [{\n "name": "learning_rate",\n "value": 0.1,\n "required": true,\n "description": "This is learning_rate of training."\n },\n {\n "name": "batch_size",\n "value": 150,\n "required": true,\n "description": "This is batch_size of training."\n },\n {\n "name": "experiment_name",\n "value": "tf-mnist1",\n "required": true,\n "description": "the name of experiment."\n }\n ],\n "experimentSpec": {\n "meta": {\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate={{learning_rate}} --batch_size={{batch_size}}",\n "name": "{{experiment_name}}",\n "envVars": {\n "ENV1": "ENV1"\n },\n "framework": "TensorFlow",\n "namespace": "default"\n },\n "spec": {\n "Ps": {\n "replicas": 1,\n "resources": "cpu=1,memory=1024M"\n },\n "Worker": {\n "replicas": 1,\n "resources": "cpu=1,memory=1024M"\n }\n },\n "environment": {\n "image": "apache/submarine:tf-mnist-with-summaries-1.0"\n }\n }\n}\n\' http://127.0.0.1:32080/api/v1/template\n')),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"response")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "experimentTemplateId":{\n "id":1,\n "serverTimestamp":1626160071451\n },\n "experimentTemplateSpec":{\n "name":"my-tf-mnist-template",\n "author":"author",\n "description":"This is a template to run tf-mnist",\n "parameters":\n [{\n "name":"learning_rate",\n "required":"true",\n "description":"This is learning_rate of training.",\n "value":"0.1"\n },\n {\n "name":"batch_size",\n "required":"true",\n "description":"This is batch_size of training.",\n "value":"150"\n },\n {\n "name":"experiment_name",\n "required":"true",\n "description":"the name of experiment.",\n "value":"tf-mnist1"\n },\n {\n "name":"spec.Ps.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n },\n {\n "name":"spec.Worker.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.memory",\n "required":"false",\n "description":"","\n value":"1024M"\n }],\n "experimentSpec":{\n "meta":{\n "name":"{{experiment_name}}",\n "namespace":"default",\n "framework":"TensorFlow",\n "cmd":"python /var/tf_mnist/mnist_with_summaries.py --log_dir\\u003d/train/log --learning_rate\\u003d{{learning_rate}} --batch_size\\u003d{{batch_size}}",\n "envVars":{"ENV1":"ENV1"}\n },\n "environment":{\n "name":null,\n "dockerImage":null,\n "kernelSpec":null,\n "description":null,\n "image":"apache/submarine:tf-mnist-with-summaries-1.0"\n },\n "spec":{\n "Ps":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{\n "memory":"1024M",\n "cpu":"1"\n }\n },\n "Worker":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{\n "memory":"1024M",\n "cpu":"1"\n }\n }\n },\n "code":null\n }\n }\n },\n "attributes":{}\n}\n')),Object(l.b)("h2",{id:"list-experiment-template"},"List Experiment Template"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre"},"GET /api/v1/template\n")),Object(l.b)("h3",{id:"code-example-1"},"Code Example"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"shell")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-sh"},"curl -X GET http://127.0.0.1:32080/api/v1/template\n")),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"response")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n [{\n "experimentTemplateId":{\n "id":1,\n "serverTimestamp":1626160071451\n },\n "experimentTemplateSpec":{\n "name":"my-tf-mnist-template",\n "author":"author",\n "description":"This is a template to run tf-mnist",\n "parameters":\n [{\n "name":"learning_rate",\n "required":"true",\n "description":"This is learning_rate of training.",\n "value":"0.1"\n },\n {\n "name":"batch_size",\n "required":"true",\n "description":"This is batch_size of training.",\n "value":"150"\n },\n {\n "name":"experiment_name",\n "required":"true",\n "description":"the name of experiment.",\n "value":"tf-mnist1"\n },\n {\n "name":"spec.Ps.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n },\n {\n "name":"spec.Worker.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.memory",\n "required":"false",\n "description":"","\n value":"1024M"\n }],\n "experimentSpec":{\n "meta":{\n "name":"{{experiment_name}}",\n "namespace":"default",\n "framework":"TensorFlow",\n "cmd":"python /var/tf_mnist/mnist_with_summaries.py --log_dir\\u003d/train/log --learning_rate\\u003d{{learning_rate}} --batch_size\\u003d{{batch_size}}",\n "envVars":{"ENV1":"ENV1"}\n },\n "environment":{\n "name":null,\n "dockerImage":null,\n "kernelSpec":null,\n "description":null,\n "image":"apache/submarine:tf-mnist-with-summaries-1.0"\n },\n "spec":{\n "Ps":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{\n "memory":"1024M",\n "cpu":"1"\n }\n },\n "Worker":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{\n "memory":"1024M",\n "cpu":"1"\n }\n }\n },\n "code":null\n }\n }\n }],\n "attributes":{}\n}\n')),Object(l.b)("h2",{id:"patch-experiment-template"},"Patch Experiment Template"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre"},"PATCH /api/v1/template{name}\n")),Object(l.b)("h3",{id:"parameters-1"},"Parameters"),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"In"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"path and body"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"author"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Author name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"description"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Description of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"parameters"),Object(l.b)("td",{parentName:"tr",align:null},"List\\<ExperimentTemplateParamSpec",">"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Parameters of the experiment template.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"experimentSpec"),Object(l.b)("td",{parentName:"tr",align:null},"ExperimentSpec"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Spec of the experiment template.")))),Object(l.b)("h3",{id:"code-example-2"},"Code Example"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"shell")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-sh"},'curl -X PATCH -H "Content-Type: application/json" -d \'\n{\n "name": "my-tf-mnist-template",\n "author": "author-new",\n "description": "This is a template to run tf-mnist",\n "parameters": [{\n "name": "learning_rate",\n "value": 0.1,\n "required": true,\n "description": "This is learning_rate of training."\n },\n {\n "name": "batch_size",\n "value": 150,\n "required": true,\n "description": "This is batch_size of training."\n },\n {\n "name": "experiment_name",\n "value": "tf-mnist1",\n "required": true,\n "description": "the name of experiment."\n }\n ],\n "experimentSpec": {\n "meta": {\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate={{learning_rate}} --batch_size={{batch_size}}",\n "name": "{{experiment_name}}",\n "envVars": {\n "ENV1": "ENV1"\n },\n "framework": "TensorFlow",\n "namespace": "default"\n },\n "spec": {\n "Ps": {\n "replicas": 1,\n "resources": "cpu=1,memory=1024M"\n },\n "Worker": {\n "replicas": 1,\n "resources": "cpu=1,memory=1024M"\n }\n },\n "environment": {\n "image": "apache/submarine:tf-mnist-with-summaries-1.0"\n }\n }\n}\n\' http://127.0.0.1:32080/api/v1/template/my-tf-mnist-template\n')),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"response")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "experimentTemplateId":{\n "id":2,\n "serverTimestamp":1626160071451\n },\n "experimentTemplateSpec":{\n "name":"my-tf-mnist-template",\n "author":"author-new",\n "description":"This is a template to run tf-mnist",\n "parameters":\n [{\n "name":"learning_rate",\n "required":"true",\n "description":"This is learning_rate of training.",\n "value":"0.1"\n },\n {\n "name":"batch_size",\n "required":"true",\n "description":"This is batch_size of training.",\n "value":"150"\n },\n {\n "name":"experiment_name",\n "required":"true",\n "description":"the name of experiment.",\n "value":"tf-mnist1"\n },\n {\n "name":"spec.Ps.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n },\n {\n "name":"spec.Worker.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n }],\n "experimentSpec":{\n "meta":{\n "name":"{{experiment_name}}",\n "namespace":"default",\n "framework":"TensorFlow",\n "cmd":"python /var/tf_mnist/mnist_with_summaries.py --log_dir\\u003d/train/log --learning_rate\\u003d{{learning_rate}} --batch_size\\u003d{{batch_size}}",\n "envVars":{"ENV1":"ENV1"}\n },\n "environment":{\n "name":null,\n "dockerImage":null,\n "kernelSpec":null,\n "description":null,\n "image":"apache/submarine:tf-mnist-with-summaries-1.0"\n },\n "spec":{\n "Ps":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n },\n "Worker":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n }\n },\n "code":null\n }\n }\n },\n "attributes":{}\n}\n')),Object(l.b)("h2",{id:"delete-experiment-template"},"Delete Experiment Template"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre"},"DELETE /api/v1/template{name}\n")),Object(l.b)("h3",{id:"parameters-2"},"Parameters"),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"In"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"path"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")))),Object(l.b)("h3",{id:"code-example-3"},"Code Example"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"shell")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-sh"},"curl -X DELETE http://127.0.0.1:32080/api/v1/template/my-tf-mnist-template\n")),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"reponse")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "experimentTemplateId":{\n "id":2,\n "serverTimestamp":1626160071451\n },\n "experimentTemplateSpec":{\n "name":"my-tf-mnist-template",\n "author":"author-new",\n "description":"This is a template to run tf-mnist",\n "parameters":\n [{\n "name":"learning_rate",\n "required":"true",\n "description":"This is learning_rate of training.",\n "value":"0.1"\n },\n {\n "name":"batch_size",\n "required":"true",\n "description":"This is batch_size of training.",\n "value":"150"\n },\n {\n "name":"experiment_name",\n "required":"true",\n "description":"the name of experiment.",\n "value":"tf-mnist1"\n },\n {\n "name":"spec.Ps.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Ps.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n },\n {\n "name":"spec.Worker.replicas",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.cpu",\n "required":"false",\n "description":"",\n "value":"1"\n },\n {\n "name":"spec.Worker.resourceMap.memory",\n "required":"false",\n "description":"",\n "value":"1024M"\n }],\n "experimentSpec":{\n "meta":{\n "name":"{{experiment_name}}",\n "namespace":"default",\n "framework":"TensorFlow",\n "cmd":"python /var/tf_mnist/mnist_with_summaries.py --log_dir\\u003d/train/log --learning_rate\\u003d{{learning_rate}} --batch_size\\u003d{{batch_size}}",\n "envVars":{"ENV1":"ENV1"}\n },\n "environment":{\n "name":null,\n "dockerImage":null,\n "kernelSpec":null,\n "description":null,\n "image":"apache/submarine:tf-mnist-with-summaries-1.0"\n },\n "spec":{\n "Ps":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n },\n "Worker":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n }\n },\n "code":null\n }\n }\n },\n "attributes":{}\n}\n')),Object(l.b)("h2",{id:"use-template-to-create-a-experiment"},"Use Template to Create a Experiment"),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre"},"POST /api/v1/experiment/{template_name}\n")),Object(l.b)("h3",{id:"parameters-3"},"Parameters"),Object(l.b)("table",null,Object(l.b)("thead",{parentName:"table"},Object(l.b)("tr",{parentName:"thead"},Object(l.b)("th",{parentName:"tr",align:null},"Field Name"),Object(l.b)("th",{parentName:"tr",align:null},"Type"),Object(l.b)("th",{parentName:"tr",align:null},"In"),Object(l.b)("th",{parentName:"tr",align:null},"Description"))),Object(l.b)("tbody",{parentName:"table"},Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"template_name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"path"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment template name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"name"),Object(l.b)("td",{parentName:"tr",align:null},"String"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Experiment template name.")),Object(l.b)("tr",{parentName:"tbody"},Object(l.b)("td",{parentName:"tr",align:null},"params"),Object(l.b)("td",{parentName:"tr",align:null},"Map<String, String>"),Object(l.b)("td",{parentName:"tr",align:null},"body"),Object(l.b)("td",{parentName:"tr",align:null},"Parameters of the experiment including ",Object(l.b)("inlineCode",{parentName:"td"},"experiment_name"),".")))),Object(l.b)("h3",{id:"code-example-4"},"Code Example"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"shell")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-sh"},'curl -X POST -H "Content-Type: application/json" -d \'\n{\n "name": "tf-mnist",\n "params": {\n "learning_rate":"0.01",\n "batch_size":"150",\n "experiment_name":"newexperiment1"\n }\n}\n\' http://127.0.0.1:32080/api/v1/experiment/my-tf-mnist-template\n')),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"response")),Object(l.b)("pre",null,Object(l.b)("code",{parentName:"pre",className:"language-json"},'{\n "status":"OK",\n "code":200,\n "success":true,\n "message":null,\n "result":{\n "experimentId":"experiment_1626160071451_0001",\n "name":"newexperiment1",\n "uid":"b895985c-411c-4e89-90e0-c60a2a8a4235",\n "status":"Accepted",\n "acceptedTime":"2021-07-13T16:21:31.000+08:00",\n "createdTime":null,\n "runningTime":null,\n "finishedTime":null,\n "spec":{\n "meta":{\n "name":"newexperiment1",\n "namespace":"default",\n "framework":"TensorFlow",\n "cmd":"python /var/tf_mnist/mnist_with_summaries.py --log_dir\\u003d/train/log --learning_rate\\u003d0.01 --batch_size\\u003d150",\n "envVars":{"ENV1":"ENV1"}\n },\n "environment":{\n "name":null,\n "dockerImage":null,\n "kernelSpec":null,\n "description":null,\n "image":"apache/submarine:tf-mnist-with-summaries-1.0"\n },\n "spec":{\n "Ps":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n },\n "Worker":{\n "replicas":1,\n "resources":"cpu\\u003d1,memory\\u003d1024M",\n "name":null,\n "image":null,\n "cmd":null,\n "envVars":null,\n "resourceMap":{"memory":"1024M","cpu":"1"}\n }\n },\n "code":null\n }\n },\n "attributes":{}\n}\n')))}b.isMDXComponent=!0},144:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return d}));var a=t(0),r=t.n(a);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function m(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=r.a.createContext({}),b=function(e){var n=r.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):m(m({},n),e)),t},u=function(e){var n=b(e.components);return r.a.createElement(c.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},o=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=b(t),o=a,d=u["".concat(i,".").concat(o)]||u[o]||s[o]||l;return t?r.a.createElement(d,m(m({ref:n},c),{},{components:t})):r.a.createElement(d,m({ref:n},c))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=t.length,i=new Array(l);i[0]=o;var m={};for(var p in n)hasOwnProperty.call(n,p)&&(m[p]=n[p]);m.originalType=e,m.mdxType="string"==typeof e?e:a,i[1]=m;for(var c=2;c<l;c++)i[c]=t[c];return r.a.createElement.apply(null,i)}return r.a.createElement.apply(null,t)}o.displayName="MDXCreateElement"}}]);