in modules/pipeline/inference_pipeline_run.py [0:0]
def get_latest_models():
client = boto3.client("sagemaker")
# Get the preprocessing model
response = client.list_processing_jobs(
NameContains="scikit-learn-sm-preprocessing",
StatusEquals="Completed",
SortBy="CreationTime",
SortOrder="Descending",
)
processing_job_name = response["ProcessingJobSummaries"][0]["ProcessingJobName"]
proc_model_s3 = (
client.describe_processing_job(ProcessingJobName=processing_job_name)[
"ProcessingOutputConfig"
]["Outputs"][2]["S3Output"]["S3Uri"]
+ "/proc_model.tar.gz"
)
# Get the trained sklearn model
response = client.list_training_jobs(
NameContains="scikit-learn-training",
StatusEquals="Completed",
SortBy="CreationTime",
SortOrder="Descending",
)
training_job_name = response["TrainingJobSummaries"][0]["TrainingJobName"]
model_s3 = client.describe_training_job(TrainingJobName=training_job_name)[
"ModelArtifacts"
]["S3ModelArtifacts"]
return proc_model_s3, model_s3