mirror of
https://github.com/hanzo-ml/trainer.git
synced 2026-10-30 14:46:16 +00:00
* fix(examples): Verify TrainJob Completion Signed-off-by: Andrey Velichkevich <[email protected]> * Rename client to TrainerClient() Signed-off-by: Andrey Velichkevich <[email protected]> --------- Signed-off-by: Andrey Velichkevich <[email protected]>
6.1 KiB
6.1 KiB
In [ ]:
!pip install kubeflowIn [ ]:
# List all available Kubeflow Training Runtimes.
from kubeflow.trainer import *
from kubeflow_trainer_api import models
client = TrainerClient()
for runtime in client.list_runtimes():
print(runtime)In [ ]:
job_name = client.train(
runtime="torchtune-qwen2.5-1.5b",
initializer=Initializer(
dataset=HuggingFaceDatasetInitializer(
storage_uri="hf://tatsu-lab/alpaca/data"
),
model=HuggingFaceModelInitializer(
storage_uri="hf://Qwen/Qwen2.5-1.5B-Instruct",
)
),
trainer=BuiltinTrainer(
config=TorchTuneConfig(
dataset_preprocess_config=TorchTuneInstructDataset(
source=DataFormat.PARQUET, split="train[:1000]"
),
resources_per_node={
"memory": "128G",
"gpu": 2,
},
)
)
)In [ ]:
# Wait for the running status.
client.wait_for_job_status(name=job_name, status={"Running"})
In [ ]:
from kubeflow.trainer.constants import constants
for line in client.get_job_logs(job_name, follow=True, step=constants.DATASET_INITIALIZER):
print(line)In [ ]:
for line in client.get_job_logs(job_name, follow=True, step=constants.MODEL_INITIALIZER):
print(line)In [ ]:
for c in client.get_job(name=job_name).steps:
print(f"Step: {c.name}, Status: {c.status}, Devices: {c.device} x {c.device_count}\n")
for line in client.get_job_logs(job_name, follow=True):
print(line)In [ ]:
job = client.wait_for_job_status(name=job_name, timeout=1200)