要将模型注册表与处理作业创建的模型集成,您可以按照以下步骤进行操作:
import boto3
model_name = 'my_model'
model_package_arn = 'arn:aws:sagemaker:us-west-2:123456789012:model-package/my-model-package'
sagemaker_client = boto3.client('sagemaker')
response = sagemaker_client.create_model(
ModelName=model_name,
ExecutionRoleArn='arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole-XXXXXX',
PrimaryContainer={
'ModelPackageName': model_package_arn,
'Environment': {
'Key': 'value'
}
}
)
model_arn = response['ModelArn']
job_name = 'my_job'
input_data = 's3://my-bucket/input_data'
output_data = 's3://my-bucket/output_data'
processing_code = 's3://my-bucket/processing_code.py'
processing_inputs = [
{
'InputName': 'input_data',
'S3Input': {
'S3Uri': input_data,
'LocalPath': '/opt/ml/processing/input_data',
'S3DataType': 'S3Prefix',
'S3InputMode': 'File',
'S3DataDistributionType': 'FullyReplicated'
}
}
]
processing_outputs = [
{
'OutputName': 'output_data',
'S3Output': {
'S3Uri': output_data,
'LocalPath': '/opt/ml/processing/output_data',
'S3UploadMode': 'EndOfJob'
}
}
]
processing_job = {
'ProcessingInputs': processing_inputs,
'ProcessingOutputConfig': {
'Outputs': processing_outputs
},
'ProcessingJobName': job_name,
'ProcessingResources': {
'ClusterConfig': {
'InstanceCount': 1,
'InstanceType': 'ml.m5.large',
'VolumeSizeInGB': 30
}
},
'StoppingCondition': {
'MaxRuntimeInSeconds': 1800
},
'AppSpecification': {
'ImageUri': '763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:1.6.0-cpu-py36-ubuntu16.04'
},
'RoleArn': 'arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole-XXXXXX',
'Environment': {
'Key': 'value'
},
'ModelName': model_name
}
response = sagemaker_client.create_processing_job(**processing_job)
以上是一个简单的示例,其中使用了Python SDK(boto3)来调用Amazon SageMaker API。您需要根据自己的实际情况调整代码中的参数和配置。