Skip to content

Instantly share code, notes, and snippets.

@gleeb
Last active August 11, 2022 07:43
Show Gist options
  • Save gleeb/258f881d3ac4bc038d48dc69586cdd0b to your computer and use it in GitHub Desktop.
Save gleeb/258f881d3ac4bc038d48dc69586cdd0b to your computer and use it in GitHub Desktop.
register a model to sagemaker model group
import boto3
sm_client = boto3.client('sagemaker', region_name='us-east-1')
model_url = "s3://sagemaker-us-east-1-.../sagemaker-scikit-learn-.../output/model.tar.gz"
modelpackage_inference_specification = {
"InferenceSpecification": {
"Containers": [
{
"Environment" : {
"SAGEMAKER_CONTAINER_LOG_LEVEL" : "20",
"SAGEMAKER_PROGRAM" : "sklearn-titanic-train-job.py",
"SAGEMAKER_REGION" : "us-east-1",
"SAGEMAKER_SUBMIT_DIRECTORY" : "s3://sagemaker-us-east-1-.../titanic_source_dir/sourcedir.tar.gz"
},
"Image": '683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn:0.20.0-cpu-py3',
"ModelDataUrl": model_url
}
],
"SupportedContentTypes": [ "text/csv", "application/x-npy" ],
"SupportedResponseMIMETypes": [ "text/csv" ],
}
}
# Alternatively, you can specify the model source like this:
# modelpackage_inference_specification["InferenceSpecification"]["Containers"][0]["ModelDataUrl"]=model_url
create_model_package_input_dict = {
"ModelPackageGroupName" : "Titanic-survival",
"ModelPackageDescription" : "predict titanic deaths",
"ModelApprovalStatus" : "PendingManualApproval"
}
create_model_package_input_dict.update(modelpackage_inference_specification)
create_model_package_response = sm_client.create_model_package(**create_model_package_input_dict)
model_package_arn = create_model_package_response["ModelPackageArn"]
print('ModelPackage Version ARN : {}'.format(model_package_arn))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment