Experimentos
Un experimento ejecuta tu script de entrenamiento varias veces con distintos hiperparámetros y registra las métricas de cada intento (trial). Al final reporta la mejor combinación.
Qué necesitas
- Un script de entrenamiento que imprima sus métricas en la salida estándar con formato
nombre=valor, por ejemploepoch=3 loss=0.21. - Un rango por hiperparámetro (learning rate, tamaño de lote, etc.).
Respeta la GPU
Con una GPU en la talla, configura los trials para correr de uno en uno (parallelTrialCount: 1). Si pides más, los demás esperan en cola; no fallan, pero tampoco ganas tiempo.
Un experimento mínimo
apiVersion: kubeflow.org/v1beta1
kind: Experiment
metadata:
name: lr-fugas
spec:
objective:
type: minimize
objectiveMetricName: loss
algorithm:
algorithmName: random
parallelTrialCount: 1
maxTrialCount: 3
parameters:
- name: lr
parameterType: double
feasibleSpace: { min: "0.001", max: "0.1" }
trialTemplate:
primaryContainerName: training
trialParameters:
- { name: learningRate, reference: lr }
trialSpec:
apiVersion: batch/v1
kind: Job
spec:
template:
spec:
restartPolicy: Never
containers:
- name: training
image: pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime
command: ["python", "/workspace/train.py", "--lr", "${trialParameters.learningRate}"]
resources: { limits: { nvidia.com/gpu: 1 } }
En el panel del laboratorio, Katib Experiments lista cada experimento con sus trials exitosos, en ejecución y fallidos, y el Optimal trial con el mejor valor de la métrica objetivo. Al abrirlo ves cada trial con sus parámetros y métricas.

New Experiment abre un asistente para crear el experimento sin escribir YAML; el archivo de arriba es el equivalente para aplicarlo desde el notebook.
Referencia completa en la documentación de Katib.