pipelines/components/ibm-components/watson/train/component.yaml

55 lines
3.0 KiB
YAML

# 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.
name: 'Train Model - Watson Machine Learning'
description: |
Train Machine Learning and Deep Learning Models in the Cloud using Watson Machine Learning
metadata:
annotations: {platform: 'IBM Watson Machine Learning'}
inputs:
- {name: train_code, description: 'Required. Code for training ML/DL models'}
- {name: execution_command, description: 'Required. Execution command to start the model training.'}
- {name: config, description: 'Credential configfile is properly created.', default: 'secret_name'}
- {name: framework, description: 'ML/DL Model Framework', default: 'tensorflow'}
- {name: framework_version, description: 'Model Framework version', default: '1.15'}
- {name: runtime, description: 'Model Code runtime language', default: 'python'}
- {name: runtime_version, description: 'Model Code runtime version', default: '3.6'}
- {name: run_definition, description: 'Name for the Watson Machine Learning training definition', default: 'python-tensorflow-definition'}
- {name: run_name, description: 'Name for the Watson Machine Learning training-runs', default: 'python-tensorflow-run'}
- {name: author_name, description: 'Name of this training job author', default: 'default-author'}
- {name: compute_name, description: 'Name of the compute tiers, in WML is the gpu count', default: 'k80'}
- {name: compute_nodes, description: 'Number of compute machine', default: '1'}
outputs:
- {name: run_uid, description: 'UID for the Watson Machine Learning training-runs'}
- {name: training_uid, description: 'Training Location UID for the Watson Machine Learning training-runs'}
implementation:
container:
image: docker.io/aipipeline/wml-train:latest
command: ['python3']
args: [
-u, /app/wml-train.py,
--config, {inputValue: config},
--train-code, {inputValue: train_code},
--execution-command, {inputValue: execution_command},
--framework, {inputValue: framework},
--framework-version, {inputValue: framework_version},
--runtime, {inputValue: runtime},
--runtime-version, {inputValue: runtime_version},
--run-definition, {inputValue: run_definition},
--run-name, {inputValue: run_name},
--author-name, {inputValue: author_name},
--compute-name, {inputValue: compute_name},
--compute-nodes,{inputValue: compute_nodes},
--output-run-uid-path, {outputPath: run_uid},
--output-training-uid-path, {outputPath: training_uid}
]