command to start sagemaker training

include sample training
This commit is contained in:
2026-05-25 16:48:31 -04:00
parent 62ffe163e8
commit 0e728cc193
13 changed files with 796 additions and 5 deletions

View File

@@ -1,7 +1,8 @@
from enum import Enum
from typing import Literal
from typing import Any, Literal, TypedDict
from mypy_boto3_s3.literals import BucketLocationConstraintType
from mypy_boto3_sagemaker.literals import TrainingInstanceTypeType
from pydantic import BaseModel, Field, model_validator
@@ -17,10 +18,19 @@ class MlflowServerSize(str, Enum):
large = "Large"
class Boto3SessionKwargs(TypedDict):
profile_name: str
region_name: str
class AwsConfig(BaseModel):
region: BucketLocationConstraintType | Literal["us-east-1"] = "us-east-1"
profile: str = "default"
@property
def boto3_session(self) -> Boto3SessionKwargs:
return {"profile_name": self.profile, "region_name": self.region}
class S3Config(BaseModel):
bucket: str = "my-qc-mlops-bucket"
@@ -28,8 +38,18 @@ class S3Config(BaseModel):
model_prefix: str = "models/"
class TrainingConfig(BaseModel):
instance_type: TrainingInstanceTypeType = "ml.m5.xlarge"
instance_count: int = 1
image_uri: str = ""
entry_point: str | None = None
source_dir: str | None = None
hyperparameters: dict[str, Any] = Field(default_factory=dict)
class SageMakerConfig(BaseModel):
role_name: str = "qc-cli-sagemaker-role"
training: TrainingConfig = Field(default_factory=TrainingConfig)
class MlflowConfig(BaseModel):