Files
55550f8df5 Adding out of the box support to TrainJob (#2560)
* 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]>
2025-08-23 00:01:07 +00:00

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}"