mirror of
https://github.com/hanzo-ml/trainer.git
synced 2026-09-24 00:31:34 +00:00
feat(api): BREAKING CHANGE – Remove ElasticPolicy API (#3235)
Signed-off-by: Andrey Velichkevich <[email protected]>
This commit is contained in:
committed by
GitHub
parent
a671d3d82c
commit
60004df3d3
@@ -374,7 +374,6 @@ from kubeflow_trainer_api.models.trainer_v1alpha1_pod_template_override import T
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_pod_template_override_target_job import TrainerV1alpha1PodTemplateOverrideTargetJob
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_pod_template_spec_override import TrainerV1alpha1PodTemplateSpecOverride
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_runtime_ref import TrainerV1alpha1RuntimeRef
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_torch_elastic_policy import TrainerV1alpha1TorchElasticPolicy
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_torch_ml_policy_source import TrainerV1alpha1TorchMLPolicySource
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_train_job import TrainerV1alpha1TrainJob
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_train_job_list import TrainerV1alpha1TrainJobList
|
||||
|
||||
+1
-7
@@ -20,7 +20,6 @@ import json
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from kubeflow_trainer_api.models.io_k8s_apimachinery_pkg_util_intstr_int_or_string import IoK8sApimachineryPkgUtilIntstrIntOrString
|
||||
from kubeflow_trainer_api.models.trainer_v1alpha1_torch_elastic_policy import TrainerV1alpha1TorchElasticPolicy
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -28,9 +27,8 @@ class TrainerV1alpha1TorchMLPolicySource(BaseModel):
|
||||
"""
|
||||
TorchMLPolicySource represents a PyTorch runtime configuration.
|
||||
""" # noqa: E501
|
||||
elastic_policy: Optional[TrainerV1alpha1TorchElasticPolicy] = Field(default=None, description="elasticPolicy defines the Elastic policy for the PyTorch training.", alias="elasticPolicy")
|
||||
num_proc_per_node: Optional[IoK8sApimachineryPkgUtilIntstrIntOrString] = Field(default=None, description="numProcPerNode is the number of processes per node. This value is inserted into the `--nproc-per-node` argument of the `torchrun` CLI. Supported values: `auto`, `cpu`, `gpu`, or int value. Defaults to `auto`.", alias="numProcPerNode")
|
||||
__properties: ClassVar[List[str]] = ["elasticPolicy", "numProcPerNode"]
|
||||
__properties: ClassVar[List[str]] = ["numProcPerNode"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -71,9 +69,6 @@ class TrainerV1alpha1TorchMLPolicySource(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of elastic_policy
|
||||
if self.elastic_policy:
|
||||
_dict['elasticPolicy'] = self.elastic_policy.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of num_proc_per_node
|
||||
if self.num_proc_per_node:
|
||||
_dict['numProcPerNode'] = self.num_proc_per_node.to_dict()
|
||||
@@ -89,7 +84,6 @@ class TrainerV1alpha1TorchMLPolicySource(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"elasticPolicy": TrainerV1alpha1TorchElasticPolicy.from_dict(obj["elasticPolicy"]) if obj.get("elasticPolicy") is not None else None,
|
||||
"numProcPerNode": IoK8sApimachineryPkgUtilIntstrIntOrString.from_dict(obj["numProcPerNode"]) if obj.get("numProcPerNode") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
Reference in New Issue
Block a user