blob: b9de81474b4a3cd8fe7d4ee941c2d204d3f85fd3 [file] [log] [blame]
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9710],{3905:function(e,n,t){t.d(n,{Zo:function(){return u},kt:function(){return c}});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(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 i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function m(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 p=a.createContext({}),s=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=s(e.components);return a.createElement(p.Provider,{value:n},e.children)},o={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,l=e.originalType,p=e.parentName,u=m(e,["components","mdxType","originalType","parentName"]),d=s(t),c=r,k=d["".concat(p,".").concat(c)]||d[c]||o[c]||l;return t?a.createElement(k,i(i({ref:n},u),{},{components:t})):a.createElement(k,i({ref:n},u))}));function c(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=d;var m={};for(var p in n)hasOwnProperty.call(n,p)&&(m[p]=n[p]);m.originalType=e,m.mdxType="string"==typeof e?e:r,i[1]=m;for(var s=2;s<l;s++)i[s]=t[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},9335:function(e,n,t){t.r(n),t.d(n,{assets:function(){return u},contentTitle:function(){return p},default:function(){return c},frontMatter:function(){return m},metadata:function(){return s},toc:function(){return o}});var a=t(7462),r=t(3366),l=(t(7294),t(3905)),i=["components"],m={title:"Experiment Template REST API"},p=void 0,s={unversionedId:"userDocs/api/experiment-template",id:"version-0.6.0/userDocs/api/experiment-template",title:"Experiment Template REST API",description:"\x3c!--",source:"@site/versioned_docs/version-0.6.0/userDocs/api/experiment-template.md",sourceDirName:"userDocs/api",slug:"/userDocs/api/experiment-template",permalink:"/docs/userDocs/api/experiment-template",editUrl:"https://github.com/apache/submarine/edit/master/website/versioned_docs/version-0.6.0/userDocs/api/experiment-template.md",tags:[],version:"0.6.0",frontMatter:{title:"Experiment Template REST API"},sidebar:"docs",previous:{title:"Environment REST API",permalink:"/docs/userDocs/api/environment"},next:{title:"Notebook REST API",permalink:"/docs/userDocs/api/notebook"}},u={},o=[{value:"Create Experiment Template",id:"create-experiment-template",level:2},{value:"Parameters",id:"parameters",level:3},{value:"<strong>ExperimentTemplateParamSpec</strong>",id:"experimenttemplateparamspec",level:4},{value:"<strong>ExperimentSpec</strong>",id:"experimentspec",level:4},{value:"<strong>ExperimentMeta</strong>",id:"experimentmeta",level:4},{value:"<strong>EnvironmentSpec</strong>",id:"environmentspec",level:4},{value:"<strong>ExperimentTaskSpec</strong>",id:"experimenttaskspec",level:4},{value:"<strong>CodeSpec</strong>",id:"codespec",level:4},{value:"Code Example",id:"code-example",level:3},{value:"List Experiment Template",id:"list-experiment-template",level:2},{value:"Code Example",id:"code-example-1",level:3},{value:"Patch Experiment Template",id:"patch-experiment-template",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"Code Example",id:"code-example-2",level:3},{value:"Delete Experiment Template",id:"delete-experiment-template",level:2},{value:"Parameters",id:"parameters-2",level:3},{value:"Code Example",id:"code-example-3",level:3},{value:"Use Template to Create a Experiment",id:"use-template-to-create-a-experiment",level:2},{value:"Parameters",id:"parameters-3",level:3},{value:"Code Example",id:"code-example-4",level:3}],d={toc:o};function c(e){var n=e.components,t=(0,r.Z)(e,i);return(0,l.kt)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"create-experiment-template"},"Create Experiment Template"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"POST /api/v1/template\n")),(0,l.kt)("h3",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"author"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Author name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"description"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Description of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"parameters"),(0,l.kt)("td",{parentName:"tr",align:null},"List<ExperimentTemplateParamSpec",">"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Parameters of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"experimentSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"ExperimentSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Spec of the experiment template.")))),(0,l.kt)("h4",{id:"experimenttemplateparamspec"},(0,l.kt)("strong",{parentName:"h4"},"ExperimentTemplateParamSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Parameter name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"required"),(0,l.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"true / false. Whether the parameter is required.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"description"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Description of the parameter.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Value of the parameter.")))),(0,l.kt)("h4",{id:"experimentspec"},(0,l.kt)("strong",{parentName:"h4"},"ExperimentSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"meta"),(0,l.kt)("td",{parentName:"tr",align:null},"ExperimentMeta"),(0,l.kt)("td",{parentName:"tr",align:null},"Meta data of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"environment"),(0,l.kt)("td",{parentName:"tr",align:null},"EnvironmentSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"Environment of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"spec"),(0,l.kt)("td",{parentName:"tr",align:null},"Map<String, ExperimentTaskSpec",">"),(0,l.kt)("td",{parentName:"tr",align:null},"Spec of pods.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"code"),(0,l.kt)("td",{parentName:"tr",align:null},"CodeSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment codespec.")))),(0,l.kt)("h4",{id:"experimentmeta"},(0,l.kt)("strong",{parentName:"h4"},"ExperimentMeta")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment Name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"namespace"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment namespace.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"framework"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment framework.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"cmd"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Command.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"envVars"),(0,l.kt)("td",{parentName:"tr",align:null},"Map<String, String",">"),(0,l.kt)("td",{parentName:"tr",align:null},"Environmental variables.")))),(0,l.kt)("h4",{id:"environmentspec"},(0,l.kt)("strong",{parentName:"h4"},"EnvironmentSpec")),(0,l.kt)("p",null,"See more details in ",(0,l.kt)("a",{parentName:"p",href:"/docs/userDocs/api/environment"},"environment api"),"."),(0,l.kt)("h4",{id:"experimenttaskspec"},(0,l.kt)("strong",{parentName:"h4"},"ExperimentTaskSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"replicas"),(0,l.kt)("td",{parentName:"tr",align:null},"Integer"),(0,l.kt)("td",{parentName:"tr",align:null},"Numbers of replicas.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"resoureces"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Resouces of the task")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Task name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"image"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Image name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"cmd"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"Command.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"envVars"),(0,l.kt)("td",{parentName:"tr",align:null},"Map<String, String",">"),(0,l.kt)("td",{parentName:"tr",align:null},"Environmental variables.")))),(0,l.kt)("h4",{id:"codespec"},(0,l.kt)("strong",{parentName:"h4"},"CodeSpec")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"syncMode"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"sync mode of code spec.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"url"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"url of code spec.")))),(0,l.kt)("h3",{id:"code-example"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("h2",{id:"list-experiment-template"},"List Experiment Template"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"GET /api/v1/template\n")),(0,l.kt)("h3",{id:"code-example-1"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},"curl -X GET http://127.0.0.1:32080/api/v1/template\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("h2",{id:"patch-experiment-template"},"Patch Experiment Template"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"PATCH /api/v1/template{name}\n")),(0,l.kt)("h3",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path and body"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"author"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Author name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"description"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Description of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"parameters"),(0,l.kt)("td",{parentName:"tr",align:null},"List<ExperimentTemplateParamSpec",">"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Parameters of the experiment template.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"experimentSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"ExperimentSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Spec of the experiment template.")))),(0,l.kt)("h3",{id:"code-example-2"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("h2",{id:"delete-experiment-template"},"Delete Experiment Template"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"DELETE /api/v1/template{name}\n")),(0,l.kt)("h3",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment template name. This is required.")))),(0,l.kt)("h3",{id:"code-example-3"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-sh"},"curl -X DELETE http://127.0.0.1:32080/api/v1/template/my-tf-mnist-template\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"reponse")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("h2",{id:"use-template-to-create-a-experiment"},"Use Template to Create a Experiment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"POST /api/v1/experiment/{template_name}\n")),(0,l.kt)("h3",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"In"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"template_name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"path"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment template name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Experiment template name.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"params"),(0,l.kt)("td",{parentName:"tr",align:null},"Map<String, String>"),(0,l.kt)("td",{parentName:"tr",align:null},"body"),(0,l.kt)("td",{parentName:"tr",align:null},"Parameters of the experiment including ",(0,l.kt)("inlineCode",{parentName:"td"},"experiment_name"),".")))),(0,l.kt)("h3",{id:"code-example-4"},"Code Example"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"shell")),(0,l.kt)("pre",null,(0,l.kt)("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')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"response")),(0,l.kt)("pre",null,(0,l.kt)("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')))}c.isMDXComponent=!0}}]);