blob: 29077245476fab784dccf989b1ec976dd423b34a [file] [log] [blame]
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1045],{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"},5337: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:"api/experiment-template",id:"version-0.8.0/api/experiment-template",title:"Experiment Template REST API",description:"\x3c!--",source:"@site/versioned_docs/version-0.8.0/api/experiment-template.md",sourceDirName:"api",slug:"/api/experiment-template",permalink:"/docs/api/experiment-template",editUrl:"https://github.com/apache/submarine/edit/master/website/versioned_docs/version-0.8.0/api/experiment-template.md",tags:[],version:"0.8.0",frontMatter:{title:"Experiment Template REST API"},sidebar:"api",previous:{title:"Experiment REST API",permalink:"/docs/api/experiment"},next:{title:"Notebook REST API",permalink:"/docs/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:"<strong>GitCodeSpec</strong>",id:"gitcodespec",level:4},{value:"Example",id:"example",level:3},{value:"List experiment template",id:"list-experiment-template",level:2},{value:"Example",id:"example-1",level:3},{value:"Get experiment template",id:"get-experiment-template",level:2},{value:"Parameters",id:"parameters-1",level:3},{value:"Example",id:"example-2",level:3},{value:"Patch template",id:"patch-template",level:2},{value:"Parameters",id:"parameters-2",level:3},{value:"Example",id:"example-3",level:3},{value:"Delete template",id:"delete-template",level:2},{value:"Parameters",id:"parameters-3",level:3},{value:"Example",id:"example-4",level:3},{value:"Use template to create a experiment",id:"use-template-to-create-a-experiment",level:2},{value:"Parameters",id:"parameters-4",level:3},{value:"Example",id:"example-5",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)("div",{className:"admonition admonition-caution alert alert--warning"},(0,l.kt)("div",{parentName:"div",className:"admonition-heading"},(0,l.kt)("h5",{parentName:"div"},(0,l.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,l.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},(0,l.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))),"caution")),(0,l.kt)("div",{parentName:"div",className:"admonition-content"},(0,l.kt)("p",{parentName:"div"},"Note: The Experiment API is in the alpha stage which is subjected to incompatible changes in future releases."))),(0,l.kt)("p",null,'Developers can register a parameterized experiment as an experiment template,\nFor example, if the developer wants to change the following "--learning_rate=0.1" to parameters.'),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'"experimentSpec": {\n "meta": {\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate=0.1 --batch_size=150"\n }, \n "...": "..."\n}\n')),(0,l.kt)("p",null,"They can use two curly braces as placeholders, the template format will be as"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'"experimentSpec": {\n "meta": {\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate={{learning_rate}} --batch_size=150"\n }, \n "...": "..."\n}\n')),(0,l.kt)("p",null,"The template parameters format will be as"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json"},'{\n "name": "learning_rate",\n "value": 0.1,\n "required": true,\n "description": "This is learning_rate of training."\n}\n')),(0,l.kt)("p",null,"name: placeholder name\nvalue; default value\nrequired: Indicates whether the user must enter parameters, when required is true, value can be null\ndescription: Introduction of this parameter"),(0,l.kt)("p",null,"Users can use existing experiment templates and adjust the default value to create experiments.\nAfter the user submits the experiment template, the submarine server finds the corresponding template based on the name. And the template handler converts input parameters to an actual experiment, such as a distributed TF experiment."),(0,l.kt)("p",null,'The "replicas", "cpu", "memory" of resources will be automatically parameterized, so developers do not need to add them.\nFor example, if there are "Ps" and "Worker" under spec, the following parameters will be automatically appended.'),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"spec.Ps.replicas\nspec.Ps.resourceMap.cpu\nspec.Ps.resourceMap.memory\nspec.Worker.replicas\nspec.Worker.resourceMap.cpu\nspec.Worker.resourceMap.memory\n")),(0,l.kt)("h2",{id:"create-experiment-template"},"Create experiment template"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"POST /api/v1/template")),(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/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},"GitCodeSpec"),(0,l.kt)("td",{parentName:"tr",align:null},"git code spec.")))),(0,l.kt)("h4",{id:"gitcodespec"},(0,l.kt)("strong",{parentName:"h4"},"GitCodeSpec")),(0,l.kt)("p",null,"Pull variables supported by the git code."),(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},"url"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"url of git repo.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"branch"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"the branch of git repo, default is main.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"username"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"the username of git repo.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"password"),(0,l.kt)("td",{parentName:"tr",align:null},"String"),(0,l.kt)("td",{parentName:"tr",align:null},"the password of git repo.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"trustCerts"),(0,l.kt)("td",{parentName:"tr",align:null},"Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"accept a self-signed certificate host.")))),(0,l.kt)("h3",{id:"example"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},'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)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"GET /api/v1/template")),(0,l.kt)("h3",{id:"example-1"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"curl -X GET http://127.0.0.1:32080/api/v1/template\n")))),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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:"get-experiment-template"},"Get experiment template"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"GET /api/v1/template/{name}")),(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)("th",{parentName:"tr",align:"center"},"Required"))),(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."),(0,l.kt)("td",{parentName:"tr",align:"center"},"o")))),(0,l.kt)("h3",{id:"example-2"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"curl -X GET http://127.0.0.1:32080/api/v1/template/my-tf-mnist-template\n")))),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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":1650788898882\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 ],\n "experimentSpec":{\n "meta":{\n "experimentId":null,\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":{\n "ENV1":"ENV1"\n },\n "tags":[]\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-template"},"Patch template"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"PATCH /api/v1/template/{name}")),(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)("th",{parentName:"tr",align:"center"},"Required"))),(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."),(0,l.kt)("td",{parentName:"tr",align:"center"},"o")),(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)("td",{parentName:"tr",align:"center"},"o")),(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)("td",{parentName:"tr",align:"center"},"x")),(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)("td",{parentName:"tr",align:"center"},"o")),(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)("td",{parentName:"tr",align:"center"},"o")))),(0,l.kt)("h3",{id:"example-3"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},'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)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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)("div",{className:"admonition admonition-note alert alert--secondary"},(0,l.kt)("div",{parentName:"div",className:"admonition-heading"},(0,l.kt)("h5",{parentName:"div"},(0,l.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,l.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},(0,l.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))),"note")),(0,l.kt)("div",{parentName:"div",className:"admonition-content"},(0,l.kt)("p",{parentName:"div"},'"description", "parameters", "experimentSpec", "author" etc can be updated using this API.\n"name" of experiment template is not supported.'))),(0,l.kt)("h2",{id:"delete-template"},"Delete template"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"GET /api/v1/template/{name}")),(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)("th",{parentName:"tr",align:"center"},"Required"))),(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."),(0,l.kt)("td",{parentName:"tr",align:"center"},"o")))),(0,l.kt)("h3",{id:"example-4"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},"curl -X DELETE http://127.0.0.1:32080/api/v1/template/my-tf-mnist-template\n")))),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"POST /api/v1/experiment/{template_name}")),(0,l.kt)("h3",{id:"parameters-4"},"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)("th",{parentName:"tr",align:"center"},"Required"))),(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."),(0,l.kt)("td",{parentName:"tr",align:"center"},"o")),(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)("td",{parentName:"tr",align:"center"},"o")))),(0,l.kt)("h3",{id:"example-5"},"Example"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Example Request"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell"},'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)("details",null,(0,l.kt)("summary",null,"Example Response"),(0,l.kt)("div",null,(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}}]);