mirror of
https://github.com/hanzo-ml/katib.git
synced 2026-09-24 00:31:27 +00:00
* Out-of-the-box support TrainJob Signed-off-by: Ram Lau <[email protected]> * Example for Pytorch Distributed Signed-off-by: Ram Lau <[email protected]> * Update examples/v1beta1/kubeflow-training-operator/trainjob-pytorch.yaml Co-authored-by: Andrey Velichkevich <[email protected]> Signed-off-by: Ram Lau <[email protected]> * Create folder for Trainer as suggested Signed-off-by: Ram Lau <[email protected]> * Movethe exmaple of trainjob to the new folder Signed-off-by: Ram Lau <[email protected]> * Ref the primaryContainerName to that of ClusterTrainingRuntime Signed-off-by: Ram Lau <[email protected]> * tenzen-y steps down from Katib approver role (#2561) Signed-off-by: Yuki Iwai <[email protected]> Signed-off-by: Ram Lau <[email protected]> * Set Default value for TrainJob Success, Failure Condition and PrimaryPodLabels in the trial Template Signed-off-by: Ram Lau <[email protected]> * Enchance Handling for default value of Success, Fail Cond & Pod Label Signed-off-by: Ram Lau <[email protected]> * Bug fix for default value condition Signed-off-by: Ram Lau <[email protected]> * code format by hack/update-gofmt.sh Signed-off-by: Ram Lau <[email protected]> * add TrainJob trial Resources to cert manager config Signed-off-by: Ram Lau <[email protected]> * add trainjob to controller rbac Signed-off-by: Ram Lau <[email protected]> * Grant JobSet permission to Katib controller Signed-off-by: Andrey Velichkevich <[email protected]> * Remove create/delete RBAC for TrainJob Signed-off-by: Andrey Velichkevich <[email protected]> * Fix docker build with libpcre2 Signed-off-by: Andrey Velichkevich <[email protected]> --------- Signed-off-by: Ram Lau <[email protected]> Signed-off-by: Yuki Iwai <[email protected]> Signed-off-by: Andrey Velichkevich <[email protected]> Co-authored-by: Andrey Velichkevich <[email protected]> Co-authored-by: Yuki Iwai <[email protected]>
52 lines
1.3 KiB
YAML
52 lines
1.3 KiB
YAML
---
|
|
apiVersion: kubeflow.org/v1beta1
|
|
kind: Experiment
|
|
metadata:
|
|
namespace: kubeflow
|
|
name: torch-distributed-example
|
|
spec:
|
|
parallelTrialCount: 3
|
|
maxTrialCount: 12
|
|
maxFailedTrialCount: 3
|
|
objective:
|
|
type: minimize
|
|
goal: 0.001
|
|
objectiveMetricName: loss
|
|
algorithm:
|
|
algorithmName: random
|
|
parameters:
|
|
- name: lr
|
|
parameterType: double
|
|
feasibleSpace:
|
|
min: "0.01"
|
|
max: "0.05"
|
|
- name: momentum
|
|
parameterType: double
|
|
feasibleSpace:
|
|
min: "0.5"
|
|
max: "0.9"
|
|
trialTemplate:
|
|
primaryContainerName: node
|
|
trialParameters:
|
|
- name: learningRate
|
|
description: Learning rate for the training model
|
|
reference: lr
|
|
- name: momentum
|
|
description: Momentum for the training model
|
|
reference: momentum
|
|
trialSpec:
|
|
apiVersion: trainer.kubeflow.org/v1alpha1
|
|
kind: TrainJob
|
|
spec:
|
|
runtimeRef:
|
|
name: torch-distributed
|
|
trainer:
|
|
numNodes: 2
|
|
image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
|
|
command:
|
|
- "python3"
|
|
- "/opt/pytorch-mnist/mnist.py"
|
|
- "--epochs=1"
|
|
- "--lr=${trialParameters.learningRate}"
|
|
- "--momentum=${trialParameters.momentum}"
|