blob: 9020654ba0203abea442430c33c8e2b48d1e6597 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{128:function(e,n,r){"use strict";r.r(n),r.d(n,"frontMatter",(function(){return o})),r.d(n,"metadata",(function(){return c})),r.d(n,"toc",(function(){return i})),r.d(n,"default",(function(){return m}));var t=r(3),a=r(7),s=(r(0),r(144)),o={title:"Run TensorFlow Experiment Guide (REST)"},c={unversionedId:"userDocs/k8s/run-tensorflow-experiment-rest",id:"userDocs/k8s/run-tensorflow-experiment-rest",isDocsHomePage:!1,title:"Run TensorFlow Experiment Guide (REST)",description:"\x3c!--",source:"@site/docs/userDocs/k8s/run-tensorflow-experiment-rest.md",slug:"/userDocs/k8s/run-tensorflow-experiment-rest",permalink:"/docs/userDocs/k8s/run-tensorflow-experiment-rest",editUrl:"https://github.com/apache/submarine/edit/master/website/docs/userDocs/k8s/run-tensorflow-experiment-rest.md",version:"current"},i=[{value:"Experiment Spec",id:"experiment-spec",children:[]},{value:"Create Experiment by REST API",id:"create-experiment-by-rest-api",children:[]}],p={toc:i};function m(e){var n=e.components,r=Object(a.a)(e,["components"]);return Object(s.b)("wrapper",Object(t.a)({},p,r,{components:n,mdxType:"MDXLayout"}),Object(s.b)("h2",{id:"experiment-spec"},"Experiment Spec"),Object(s.b)("p",null,"The experiment is represented in ",Object(s.b)("a",{parentName:"p",href:"https://www.json.org"},"JSON")," or ",Object(s.b)("a",{parentName:"p",href:"https://yaml.org"},"YAML")," format."),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"YAML Format:")),Object(s.b)("pre",null,Object(s.b)("code",{parentName:"pre",className:"language-yaml"},'meta:\n name: "tf-mnist-yaml"\n namespace: "default"\n framework: "TensorFlow"\n cmd: "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate=0.01 --batch_size=150"\n envVars:\n ENV_1: "ENV1"\nenvironment:\n image: "apache/submarine:tf-mnist-with-summaries-1.0"\nspec:\n Ps:\n replicas: 1\n resources: "cpu=1,memory=1024M"\n Worker:\n replicas: 1\n resources: "cpu=1,memory=1024M"\n')),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"JSON Format:")),Object(s.b)("pre",null,Object(s.b)("code",{parentName:"pre",className:"language-json"},'{\n "meta": {\n "name": "tf-mnist-json",\n "namespace": "default",\n "framework": "TensorFlow",\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate=0.01 --batch_size=150",\n "envVars": {\n "ENV_1": "ENV1"\n }\n },\n "environment": {\n "image": "apache/submarine:tf-mnist-with-summaries-1.0"\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}\n')),Object(s.b)("h2",{id:"create-experiment-by-rest-api"},"Create Experiment by REST API"),Object(s.b)("p",null,Object(s.b)("inlineCode",{parentName:"p"},"POST /api/v1/experiment")),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"Example Request")),Object(s.b)("pre",null,Object(s.b)("code",{parentName:"pre",className:"language-sh"},'curl -X POST -H "Content-Type: application/json" -d \'\n{\n "meta": {\n "name": "tf-mnist-json",\n "namespace": "default",\n "framework": "TensorFlow",\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate=0.01 --batch_size=150",\n "envVars": {\n "ENV_1": "ENV1"\n }\n },\n "environment": {\n "image": "apache/submarine:tf-mnist-with-summaries-1.0"\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}\n\' http://127.0.0.1:32080/api/v1/experiment\n')),Object(s.b)("p",null,Object(s.b)("strong",{parentName:"p"},"Example Response:")),Object(s.b)("pre",null,Object(s.b)("code",{parentName:"pre",className:"language-json"},'{\n "status": "OK",\n "code": 200,\n "result": {\n "experimentId": "experiment_1592057447228_0001",\n "name": "tf-mnist-json",\n "uid": "28e39dcd-77d4-11ea-8dbb-0242ac110003",\n "status": "Accepted",\n "acceptedTime": "2020-06-13T22:59:29.000+08:00",\n "spec": {\n "meta": {\n "name": "tf-mnist-json",\n "namespace": "default",\n "framework": "TensorFlow",\n "cmd": "python /var/tf_mnist/mnist_with_summaries.py --log_dir=/train/log --learning_rate=0.01 --batch_size=150",\n "envVars": {\n "ENV_1": "ENV1"\n }\n },\n "environment": {\n "image": "apache/submarine:tf-mnist-with-summaries-1.0"\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 }\n }\n}\n')),Object(s.b)("p",null,"More info see ",Object(s.b)("a",{parentName:"p",href:"/docs/api/experiment"},"Experiment API Reference"),"."))}m.isMDXComponent=!0},144:function(e,n,r){"use strict";r.d(n,"a",(function(){return u})),r.d(n,"b",(function(){return f}));var t=r(0),a=r.n(t);function s(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function o(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function c(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?o(Object(r),!0).forEach((function(n){s(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function i(e,n){if(null==e)return{};var r,t,a=function(e,n){if(null==e)return{};var r,t,a={},s=Object.keys(e);for(t=0;t<s.length;t++)r=s[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(t=0;t<s.length;t++)r=s[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),m=function(e){var n=a.a.useContext(p),r=n;return e&&(r="function"==typeof e?e(n):c(c({},n),e)),r},u=function(e){var n=m(e.components);return a.a.createElement(p.Provider,{value:n},e.children)},l={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},b=a.a.forwardRef((function(e,n){var r=e.components,t=e.mdxType,s=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=m(r),b=t,f=u["".concat(o,".").concat(b)]||u[b]||l[b]||s;return r?a.a.createElement(f,c(c({ref:n},p),{},{components:r})):a.a.createElement(f,c({ref:n},p))}));function f(e,n){var r=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var s=r.length,o=new Array(s);o[0]=b;var c={};for(var i in n)hasOwnProperty.call(n,i)&&(c[i]=n[i]);c.originalType=e,c.mdxType="string"==typeof e?e:t,o[1]=c;for(var p=2;p<s;p++)o[p]=r[p];return a.a.createElement.apply(null,o)}return a.a.createElement.apply(null,r)}b.displayName="MDXCreateElement"}}]);