diff --git a/examples/trials/auto-gbdt/config_pai.yml b/examples/trials/auto-gbdt/config_pai.yml index c2914a0dba..34bf5e83c4 100644 --- a/examples/trials/auto-gbdt/config_pai.yml +++ b/examples/trials/auto-gbdt/config_pai.yml @@ -24,9 +24,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/ga_squad/config_pai.yml b/examples/trials/ga_squad/config_pai.yml index 56c2d33069..d4435e5657 100644 --- a/examples/trials/ga_squad/config_pai.yml +++ b/examples/trials/ga_squad/config_pai.yml @@ -22,9 +22,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/mnist-annotation/config_pai.yml b/examples/trials/mnist-annotation/config_pai.yml index a31c88abbc..c48bb89a46 100644 --- a/examples/trials/mnist-annotation/config_pai.yml +++ b/examples/trials/mnist-annotation/config_pai.yml @@ -23,9 +23,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/mnist-batch-tune-keras/config_pai.yml b/examples/trials/mnist-batch-tune-keras/config_pai.yml index 183c220e2d..c7c0de7a14 100644 --- a/examples/trials/mnist-batch-tune-keras/config_pai.yml +++ b/examples/trials/mnist-batch-tune-keras/config_pai.yml @@ -24,9 +24,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/mnist-keras/config_pai.yml b/examples/trials/mnist-keras/config_pai.yml index 6c2d45732c..45c0bd56b0 100644 --- a/examples/trials/mnist-keras/config_pai.yml +++ b/examples/trials/mnist-keras/config_pai.yml @@ -24,9 +24,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/mnist-smartparam/config_pai.yml b/examples/trials/mnist-smartparam/config_pai.yml index 089a4efd4a..b605341deb 100644 --- a/examples/trials/mnist-smartparam/config_pai.yml +++ b/examples/trials/mnist-smartparam/config_pai.yml @@ -23,9 +23,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/mnist/config_pai.yml b/examples/trials/mnist/config_pai.yml index cd3ad3a0e4..6f2479c860 100644 --- a/examples/trials/mnist/config_pai.yml +++ b/examples/trials/mnist/config_pai.yml @@ -24,9 +24,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/examples/trials/pytorch_cifar10/config_pai.yml b/examples/trials/pytorch_cifar10/config_pai.yml index f1335e1f45..3c9424f1fb 100644 --- a/examples/trials/pytorch_cifar10/config_pai.yml +++ b/examples/trials/pytorch_cifar10/config_pai.yml @@ -24,9 +24,9 @@ trial: #The docker image to run nni job on pai image: openpai/pai.example.tensorflow #The hdfs directory to store data on pai, format 'hdfs://host:port/directory' - hdfsDataDir: hdfs://10.10.10.10:9000/username/nni + dataDir: hdfs://10.10.10.10:9000/username/nni #The hdfs directory to store output data generated by nni, format 'hdfs://host:port/directory' - hdfsOutputDir: hdfs://10.10.10.10:9000/username/nni + outputDir: hdfs://10.10.10.10:9000/username/nni paiConfig: #The username to login pai userName: username diff --git a/src/webui/src/components/TrialStatus.tsx b/src/webui/src/components/TrialStatus.tsx index f13fa7c11c..bf461d0ad0 100644 --- a/src/webui/src/components/TrialStatus.tsx +++ b/src/webui/src/components/TrialStatus.tsx @@ -55,6 +55,7 @@ interface TabState { trialJobs: object; intermediateOption: object; modalVisible: boolean; + disTensorButton: boolean; } class TrialStatus extends React.Component<{}, TabState> { @@ -83,7 +84,8 @@ class TrialStatus extends React.Component<{}, TabState> { option: {}, intermediateOption: {}, trialJobs: {}, - modalVisible: false + modalVisible: false, + disTensorButton: false }; } @@ -368,6 +370,26 @@ class TrialStatus extends React.Component<{}, TabState> { } } + // experiment mode is pai, display tensorboard button + disTensorBoard = () => { + axios(`${MANAGER_IP}/experiment`, { + method: 'GET' + }) + .then(res => { + if (res.status === 200) { + const experimentObj = res.data; + const trainPlatform = experimentObj.params.trainingServicePlatform; + if (trainPlatform && trainPlatform === 'pai') { + if (this._isMounted) { + this.setState(() => ({ + disTensorButton: true + })); + } + } + } + }); + } + componentDidMount() { this._isMounted = true; @@ -375,6 +397,7 @@ class TrialStatus extends React.Component<{}, TabState> { this.drawRunGraph(); // the init of trials status in the table this.drawTable(); + this.disTensorBoard(); this.intervalID = window.setInterval(this.drawRunGraph, 10000); this.intervalIDS = window.setInterval(this.drawTable, 10000); } @@ -387,7 +410,7 @@ class TrialStatus extends React.Component<{}, TabState> { } render() { - const { intermediateOption, modalVisible, option, tableData } = this.state; + const { intermediateOption, modalVisible, option, tableData, disTensorButton } = this.state; let bgColor = ''; const trialJob: Array = []; trialJobStatus.map(item => { @@ -490,7 +513,7 @@ class TrialStatus extends React.Component<{}, TabState> { ) ); - }, + } }, { title: 'Tensor', dataIndex: 'tensor', @@ -501,6 +524,7 @@ class TrialStatus extends React.Component<{}, TabState> {