// Copyright 2018 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // tslint:disable:object-literal-sort-keys export default { metadata: { name: 'xgboost-training-gzkm9', generateName: 'xgboost-training-', namespace: 'default', selfLink: '/apis/argoproj.io/v1alpha1/namespaces/default/workflows/xgboost-training-gzkm9', uid: '2c007465-41cf-11e8-bba7-42010a8a0fc2', resourceVersion: '696668', creationTimestamp: '2018-04-16T23:37:48Z', labels: { 'workflows.argoproj.io/completed': 'true', 'workflows.argoproj.io/phase': 'Succeeded' } }, spec: { templates: [ { name: 'exit-handler', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' } ] }, outputs: {}, metadata: {}, steps: [ [ { name: 'deletecluster', template: 'deletecluster', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'name', value: '{{inputs.parameters.cluster}}' } ] } } ] ] }, { name: 'xgboost-training', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' }, { name: 'output' }, { name: 'train' }, { name: 'eval' }, { name: 'schema' }, { name: 'target' }, { name: 'package' }, { name: 'workers' }, { name: 'rounds' }, { name: 'conf' } ] }, outputs: {}, metadata: {}, steps: [ [ { name: 'createcluster', template: 'createcluster', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'name', value: '{{inputs.parameters.cluster}}' }, { name: 'staging', value: '{{inputs.parameters.output}}/{{workflow.name}}/staging' } ] } } ], [ { name: 'analyze', template: 'analyze', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'cluster', value: '{{inputs.parameters.cluster}}' }, { name: 'output', value: '{{inputs.parameters.output}}/{{workflow.name}}/analysis' }, { name: 'train', value: '{{inputs.parameters.train}}' }, { name: 'schema', value: '{{inputs.parameters.schema}}' } ] } } ], [ { name: 'transform', template: 'transform', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'cluster', value: '{{inputs.parameters.cluster}}' }, { name: 'output', value: '{{inputs.parameters.output}}/{{workflow.name}}/transform' }, { name: 'train', value: '{{inputs.parameters.train}}' }, { name: 'eval', value: '{{inputs.parameters.eval}}' }, { name: 'target', value: '{{inputs.parameters.target}}' }, { name: 'analysis', value: '{{inputs.parameters.output}}/{{workflow.name}}/analysis' } ] } } ], [ { name: 'train', template: 'train', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'cluster', value: '{{inputs.parameters.cluster}}' }, { name: 'output', value: '{{inputs.parameters.output}}/{{workflow.name}}/model' }, { name: 'train', value: '{{inputs.parameters.output}}/{{workflow.name}}/transform/train/part-*' }, { name: 'eval', value: '{{inputs.parameters.output}}/{{workflow.name}}/transform/eval/part-*' }, { name: 'target', value: '{{inputs.parameters.target}}' }, { name: 'analysis', value: '{{inputs.parameters.output}}/{{workflow.name}}/analysis' }, { name: 'package', value: '{{inputs.parameters.package}}' }, { name: 'workers', value: '{{inputs.parameters.workers}}' }, { name: 'rounds', value: '{{inputs.parameters.rounds}}' }, { name: 'conf', value: '{{inputs.parameters.conf}}' } ] } } ], [ { name: 'batchpredict', template: 'batchpredict', arguments: { parameters: [ { name: 'project', value: '{{inputs.parameters.project}}' }, { name: 'region', value: '{{inputs.parameters.region}}' }, { name: 'cluster', value: '{{inputs.parameters.cluster}}' }, { name: 'output', value: '{{inputs.parameters.output}}/{{workflow.name}}/batchpredict' }, { name: 'eval', value: '{{inputs.parameters.output}}/{{workflow.name}}/transform/eval/part-*' }, { name: 'target', value: '{{inputs.parameters.target}}' }, { name: 'analysis', value: '{{inputs.parameters.output}}/{{workflow.name}}/analysis' }, { name: 'package', value: '{{inputs.parameters.package}}' }, { name: 'model', value: '{{inputs.parameters.output}}/{{workflow.name}}/model' } ] } } ], [ { name: 'confusionmatrix', template: 'confusionmatrix', arguments: { parameters: [ { name: 'output', value: '{{inputs.parameters.output}}/{{workflow.name}}/confusionmatrix' }, { name: 'predictions', value: '{{inputs.parameters.output}}/{{workflow.name}}/batchpredict/part-*.csv' }, { name: 'analysis', value: '{{inputs.parameters.output}}/{{workflow.name}}/analysis' }, { name: 'target', value: '{{inputs.parameters.target}}' } ] } } ] ] }, { name: 'createcluster', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'name' }, { name: 'staging' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ 'python /ml/create_cluster.py --project {{inputs.parameters.project}} ' + '--region {{inputs.parameters.region}} --name {{inputs.parameters.name}} ' + '--staging {{inputs.parameters.staging}}' ], resources: {} } }, { name: 'analyze', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' }, { name: 'output' }, { name: 'train' }, { name: 'schema' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ 'python /ml/analyze.py --project {{inputs.parameters.project}} ' + '--region {{inputs.parameters.region}} --cluster ' + '{{inputs.parameters.cluster}} --output ' + '{{inputs.parameters.output}} --train {{inputs.parameters.train}} ' + '--schema {{inputs.parameters.schema}}' ], resources: {} } }, { name: 'transform', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' }, { name: 'output' }, { name: 'train' }, { name: 'eval' }, { name: 'target' }, { name: 'analysis' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ 'python /ml/transform.py --project {{inputs.parameters.project}} ' + '--region {{inputs.parameters.region}} --cluster ' + '{{inputs.parameters.cluster}} --output ' + '{{inputs.parameters.output}} --train {{inputs.parameters.train}} ' + '--eval {{inputs.parameters.eval}} --target ' + '{{inputs.parameters.target}} --analysis ' + '{{inputs.parameters.analysis}}' ], resources: {} } }, { name: 'train', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' }, { name: 'output' }, { name: 'train' }, { name: 'eval' }, { name: 'target' }, { name: 'analysis' }, { name: 'package' }, { name: 'workers' }, { name: 'rounds' }, { name: 'conf' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ // tslint:disable-next-line:max-line-length 'python /ml/train.py --project {{inputs.parameters.project}} --region {{inputs.parameters.region}} --cluster {{inputs.parameters.cluster}} --output {{inputs.parameters.output}} --train {{inputs.parameters.train}} --eval {{inputs.parameters.eval}} --target {{inputs.parameters.target}} --analysis {{inputs.parameters.analysis}} --package {{inputs.parameters.package}} --workers {{inputs.parameters.workers}} --rounds {{inputs.parameters.rounds}} --conf {{inputs.parameters.conf}}' ], resources: {} } }, { name: 'batchpredict', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'cluster' }, { name: 'output' }, { name: 'eval' }, { name: 'model' }, { name: 'target' }, { name: 'package' }, { name: 'analysis' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ // tslint:disable-next-line:max-line-length 'python /ml/predict.py --project {{inputs.parameters.project}} --region {{inputs.parameters.region}} --cluster {{inputs.parameters.cluster}} --output {{inputs.parameters.output}} --predict {{inputs.parameters.eval}} --analysis {{inputs.parameters.analysis}} --target {{inputs.parameters.target}} --model {{inputs.parameters.model}} --package {{inputs.parameters.package}} ' ], resources: {} } }, { name: 'confusionmatrix', inputs: { parameters: [ { name: 'output' }, { name: 'analysis' }, { name: 'predictions' }, { name: 'target' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-local', command: [ 'sh', '-c' ], args: [ // tslint:disable-next-line:max-line-length 'python /ml/confusion_matrix.py --output {{inputs.parameters.output}} --predictions {{inputs.parameters.predictions}} --analysis {{inputs.parameters.analysis}} --target {{inputs.parameters.target}}' ], resources: {} } }, { name: 'deletecluster', inputs: { parameters: [ { name: 'project' }, { name: 'region' }, { name: 'name' } ] }, outputs: {}, metadata: {}, container: { name: '', image: 'gcr.io/ml-pipeline/ml-pipeline-dataproc-xgboost', command: [ 'sh', '-c' ], args: [ // tslint:disable-next-line:max-line-length 'python /ml/delete_cluster.py --project {{inputs.parameters.project}} --region {{inputs.parameters.region}} --name {{inputs.parameters.name}}' ], resources: {} } } ], entrypoint: 'xgboost-training', arguments: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-{{workflow.name}}' }, { name: 'output', value: 'gs://sample-xgbbost-cm-output' }, { name: 'train', value: 'gs://ml-pipeline-playground/newsgroup/train.csv' }, { name: 'eval', value: 'gs://ml-pipeline-playground/newsgroup/eval.csv' }, { name: 'schema', value: 'gs://ml-pipeline-playground/newsgroup/schema.json' }, { name: 'target', value: 'news_label' }, { name: 'package', // tslint:disable-next-line:max-line-length value: 'gs://ml-pipeline-playground/xgboost4j-example-0.8-SNAPSHOT-jar-with-dependencies.jar' }, { name: 'workers', value: '2' }, { name: 'rounds', value: '200' }, { name: 'conf', value: 'gs://ml-pipeline-playground/trainconfcla.json ' } ] }, onExit: 'exit-handler' }, status: { phase: 'Succeeded', startedAt: '2018-04-16T23:37:48Z', finishedAt: '2018-04-17T00:12:01Z', nodes: { 'xgboost-training-gzkm9': { id: 'xgboost-training-gzkm9', name: 'xgboost-training-gzkm9', displayName: 'xgboost-training-gzkm9', type: 'Steps', templateName: 'xgboost-training', phase: 'Succeeded', startedAt: '2018-04-16T23:37:48Z', finishedAt: '2018-04-17T00:10:06Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'output', value: 'gs://sample-xgbbost-cm-output' }, { name: 'train', value: 'gs://ml-pipeline-playground/newsgroup/train.csv' }, { name: 'eval', value: 'gs://ml-pipeline-playground/newsgroup/eval.csv' }, { name: 'schema', value: 'gs://ml-pipeline-playground/newsgroup/schema.json' }, { name: 'target', value: 'news_label' }, { name: 'package', // tslint:disable-next-line:max-line-length value: 'gs://ml-pipeline-playground/xgboost4j-example-0.8-SNAPSHOT-jar-with-dependencies.jar' }, { name: 'workers', value: '2' }, { name: 'rounds', value: '200' }, { name: 'conf', value: 'gs://ml-pipeline-playground/trainconfcla.json ' } ] }, children: [ 'xgboost-training-gzkm9-4204210601', 'xgboost-training-gzkm9-916047540', 'xgboost-training-gzkm9-915503087', 'xgboost-training-gzkm9-982760658', 'xgboost-training-gzkm9-4204798981', 'xgboost-training-gzkm9-916635920' ], outboundNodes: [ 'xgboost-training-gzkm9-2203328319' ] }, 'xgboost-training-gzkm9-1253553084': { id: 'xgboost-training-gzkm9-1253553084', name: 'xgboost-training-gzkm9.onExit', displayName: 'xgboost-training-gzkm9.onExit', type: 'Steps', templateName: 'exit-handler', phase: 'Pending', message: 'ImagePullBackOff: Back-off pulling image "gcr.io/ml-pipeline/ml-pipeline-dataproc-create-cluster"', startedAt: '2018-04-17T00:10:06Z', finishedAt: '2018-04-17T00:12:01Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' } ] }, children: [ 'xgboost-training-gzkm9-3439262870' ], outboundNodes: [ 'xgboost-training-gzkm9-3721733163' ] }, 'xgboost-training-gzkm9-1761585008': { id: 'xgboost-training-gzkm9-1761585008', name: 'xgboost-training-gzkm9[4].batchpredict', displayName: 'batchpredict', type: 'Pod', templateName: 'batchpredict', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-17T00:08:06Z', finishedAt: '2018-04-17T00:08:59Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'output', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/batchpredict' }, { name: 'eval', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/transform/eval/part-*' }, { name: 'model', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/model' }, { name: 'target', value: 'news_label' }, { name: 'package', // tslint:disable-next-line:max-line-length value: 'gs://ml-pipeline-playground/xgboost4j-example-0.8-SNAPSHOT-jar-with-dependencies.jar' }, { name: 'analysis', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/analysis' } ] }, children: [ 'xgboost-training-gzkm9-916635920' ] }, 'xgboost-training-gzkm9-2203328319': { id: 'xgboost-training-gzkm9-2203328319', name: 'xgboost-training-gzkm9[5].confusionmatrix', displayName: 'confusionmatrix', type: 'Pod', templateName: 'confusionmatrix', phase: 'Failed', message: 'Mock backend could not schedule pod; no k8s implementation in Javascript (yet).', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-17T00:08:59Z', finishedAt: '2018-04-17T00:10:06Z', inputs: { parameters: [ { name: 'analysis', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/analysis' }, { name: 'predictions', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/batchpredict/part-*.csv' }, { name: 'target', value: 'news_label' } ] }, outputs: { artifacts: [{ name: 'mlpipeline-ui-metadata', s3: { bucket: 'somebucket', key: 'confusionmatrix', }, }], }, }, 'xgboost-training-gzkm9-2365787662': { id: 'xgboost-training-gzkm9-2365787662', name: 'xgboost-training-gzkm9[3].train', displayName: 'train', type: 'Pod', templateName: 'train', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:49:28Z', finishedAt: '2018-04-17T00:08:05Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'train', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/transform/train/part-*' }, { name: 'eval', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/transform/eval/part-*' }, { name: 'target', value: 'news_label' }, { name: 'analysis', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/analysis' }, { name: 'package', // tslint:disable-next-line:max-line-length value: 'gs://ml-pipeline-playground/xgboost4j-example-0.8-SNAPSHOT-jar-with-dependencies.jar' }, { name: 'workers', value: '2' }, { name: 'rounds', value: '200' }, { name: 'conf', value: 'gs://ml-pipeline-playground/trainconfcla.json ' } ] }, outputs: { artifacts: [{ name: 'mlpipeline-ui-metadata', s3: { bucket: 'somebucket', key: 'model', }, }], }, children: [ 'xgboost-training-gzkm9-4204798981' ] }, 'xgboost-training-gzkm9-2411879589': { id: 'xgboost-training-gzkm9-2411879589', name: 'xgboost-training-gzkm9[0].createcluster', displayName: 'createcluster', type: 'Pod', templateName: 'createcluster', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:37:49Z', finishedAt: '2018-04-16T23:39:56Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'name', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'staging', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/staging' } ] }, children: [ 'xgboost-training-gzkm9-916047540' ] }, 'xgboost-training-gzkm9-2457131397': { id: 'xgboost-training-gzkm9-2457131397', name: 'xgboost-training-gzkm9[2].transform', displayName: 'transform', type: 'Pod', templateName: 'transform', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:41:24Z', finishedAt: '2018-04-16T23:49:27Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'train', value: 'gs://ml-pipeline-playground/newsgroup/train.csv' }, { name: 'eval', value: 'gs://ml-pipeline-playground/newsgroup/eval.csv' }, { name: 'target', value: 'news_label' }, { name: 'analysis', value: 'gs://sample-xgbbost-cm-output/xgboost-training-gzkm9/analysis' } ] }, outputs: { artifacts: [{ name: 'mlpipeline-ui-metadata', s3: { bucket: 'somebucket', key: 'transform', }, }], }, children: [ 'xgboost-training-gzkm9-982760658' ] }, 'xgboost-training-gzkm9-3439262870': { id: 'xgboost-training-gzkm9-3439262870', name: 'xgboost-training-gzkm9.onExit[0]', displayName: '[0]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9-1253553084', startedAt: '2018-04-17T00:10:06Z', finishedAt: '2018-04-17T00:12:01Z', children: [ 'xgboost-training-gzkm9-3721733163' ] }, 'xgboost-training-gzkm9-3636935406': { id: 'xgboost-training-gzkm9-3636935406', name: 'xgboost-training-gzkm9[1].analyze', displayName: 'analyze', type: 'Pod', templateName: 'analyze', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:39:56Z', finishedAt: '2018-04-16T23:41:24Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'cluster', value: 'xgboost-spark-xgboost-training-gzkm9' }, { name: 'train', value: 'gs://ml-pipeline-playground/newsgroup/train.csv' }, { name: 'schema', value: 'gs://ml-pipeline-playground/newsgroup/schema.json' } ] }, outputs: { artifacts: [{ name: 'mlpipeline-ui-metadata', s3: { bucket: 'somebucket', key: 'analysis', }, }], }, children: [ 'xgboost-training-gzkm9-915503087' ] }, 'xgboost-training-gzkm9-3721733163': { id: 'xgboost-training-gzkm9-3721733163', name: 'xgboost-training-gzkm9.onExit[0].deletecluster', displayName: 'deletecluster', type: 'Pod', templateName: 'deletecluster', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9-1253553084', startedAt: '2018-04-17T00:10:06Z', finishedAt: '2018-04-17T00:12:01Z', inputs: { parameters: [ { name: 'project', value: 'ml-pipeline' }, { name: 'region', value: 'us-central1' }, { name: 'name', value: 'xgboost-spark-xgboost-training-gzkm9' } ] } }, 'xgboost-training-gzkm9-4204210601': { id: 'xgboost-training-gzkm9-4204210601', name: 'xgboost-training-gzkm9[0]', displayName: '[0]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:37:48Z', finishedAt: '2018-04-16T23:39:56Z', children: [ 'xgboost-training-gzkm9-2411879589' ] }, 'xgboost-training-gzkm9-4204798981': { id: 'xgboost-training-gzkm9-4204798981', name: 'xgboost-training-gzkm9[4]', displayName: '[4]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-17T00:08:06Z', finishedAt: '2018-04-17T00:08:59Z', children: [ 'xgboost-training-gzkm9-1761585008' ] }, 'xgboost-training-gzkm9-915503087': { id: 'xgboost-training-gzkm9-915503087', name: 'xgboost-training-gzkm9[2]', displayName: '[2]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:41:24Z', finishedAt: '2018-04-16T23:49:28Z', children: [ 'xgboost-training-gzkm9-2457131397' ] }, 'xgboost-training-gzkm9-916047540': { id: 'xgboost-training-gzkm9-916047540', name: 'xgboost-training-gzkm9[1]', displayName: '[1]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:39:56Z', finishedAt: '2018-04-16T23:41:24Z', children: [ 'xgboost-training-gzkm9-3636935406' ] }, 'xgboost-training-gzkm9-916635920': { id: 'xgboost-training-gzkm9-916635920', name: 'xgboost-training-gzkm9[5]', displayName: '[5]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-17T00:08:59Z', finishedAt: '2018-04-17T00:10:06Z', children: [ 'xgboost-training-gzkm9-2203328319' ] }, 'xgboost-training-gzkm9-982760658': { id: 'xgboost-training-gzkm9-982760658', name: 'xgboost-training-gzkm9[3]', displayName: '[3]', type: 'StepGroup', phase: 'Succeeded', boundaryID: 'xgboost-training-gzkm9', startedAt: '2018-04-16T23:49:28Z', finishedAt: '2018-04-17T00:08:06Z', children: [ 'xgboost-training-gzkm9-2365787662' ] } } } };