SageMaker Core#
SageMaker Core provides low-level, object-oriented access to Amazon SageMaker resources with intelligent defaults and streamlined workflows. This foundational layer offers direct control over SageMaker services while maintaining the simplicity and power you need for advanced use cases.
Key Benefits of SageMaker Core#
Direct Resource Access: Low-level control over SageMaker resources with full API coverage
Object-Oriented Design: Intuitive resource abstractions that map directly to AWS APIs
Intelligent Defaults: Automatic configuration of optimal settings based on resource requirements
Type Safety: Strong typing and validation for better development experience
Quick Start Example#
Here’s how SageMaker Core simplifies resource management:
Traditional Boto3 Approach:
import boto3
client = boto3.client('sagemaker')
response = client.create_training_job(
TrainingJobName='my-training-job',
RoleArn='arn:aws:iam::123456789012:role/SageMakerRole',
InputDataConfig=[{
'ChannelName': 'training',
'DataSource': {
'S3DataSource': {
'S3DataType': 'S3Prefix',
'S3Uri': 's3://my-bucket/train',
'S3DataDistributionType': 'FullyReplicated'
}
}
}],
# ... many more required parameters
)
SageMaker Core Approach:
from sagemaker.core.resources import TrainingJob
from sagemaker.core.shapes import TrainingJobConfig
training_job = TrainingJob.create(
training_job_name="my-training-job",
role_arn="arn:aws:iam::123456789012:role/SageMakerRole",
input_data_config=[{
"channel_name": "training",
"data_source": "s3://my-bucket/train"
}]
)
SageMaker Core Overview#
SageMaker Core serves as the foundation for all SageMaker Python SDK V3 operations, providing direct access to SageMaker resources through an object-oriented interface:
- Resource Abstractions
Direct mapping to SageMaker resources like TrainingJob, Model, Endpoint, and ProcessingJob
- Intelligent Configuration
Automatically fills in required parameters with sensible defaults while allowing full customization
- Type-Safe Operations
Strong typing and validation prevent common configuration errors
- Seamless Integration
Works as the foundation layer for higher-level SDK components
from sagemaker.core.resources import Endpoint, Model
from sagemaker.core.shapes import EndpointConfig
# Create a model resource
model = Model.create(
model_name="my-model",
primary_container={
"image": "your-inference-image",
"model_data_url": "s3://your-bucket/model.tar.gz"
},
execution_role_arn="your-sagemaker-role"
)
# Deploy to an endpoint
endpoint = Endpoint.create(
endpoint_name="my-endpoint",
endpoint_config_name="my-config",
model_name=model.model_name
)
# Make predictions
response = endpoint.invoke_endpoint(
body=b'{"instances": [1, 2, 3, 4]}',
content_type="application/json"
)
Core Capabilities#
Resource Management#
SageMaker Core provides comprehensive resource management capabilities:
Training Jobs - Create, monitor, and manage training workloads with full parameter control
Models - Define and register models with custom inference logic and container configurations
Endpoints - Deploy real-time inference endpoints with auto-scaling and monitoring
Processing Jobs - Run data processing and feature engineering workloads at scale
Resource Lifecycle Management:
from sagemaker.core.resources import ProcessingJob
# Create processing job
processing_job = ProcessingJob.create(
processing_job_name="data-preprocessing",
app_specification={
"image_uri": "your-processing-image",
"container_entrypoint": ["python", "preprocess.py"]
},
processing_inputs=[{
"input_name": "raw-data",
"s3_input": {
"s3_uri": "s3://your-bucket/raw-data",
"local_path": "/opt/ml/processing/input"
}
}],
processing_outputs=[{
"output_name": "processed-data",
"s3_output": {
"s3_uri": "s3://your-bucket/processed-data",
"local_path": "/opt/ml/processing/output"
}
}]
)
Key Core Features#
Direct API Access - Full coverage of SageMaker APIs with object-oriented abstractions for better usability
Intelligent Defaults - Automatic parameter inference and validation reduces boilerplate while maintaining flexibility
Resource Chaining - Seamlessly connect resources together for complex workflows and dependencies
Monitoring Integration - Built-in support for CloudWatch metrics, logging, and resource status tracking
Error Handling - Comprehensive error handling with detailed feedback for troubleshooting and debugging
Supported Core Scenarios#
Resource Types#
Training Resources - TrainingJob, HyperParameterTuningJob, AutoMLJob
Inference Resources - Model, EndpointConfig, Endpoint, Transform
Processing Resources - ProcessingJob, FeatureGroup, Pipeline
Monitoring Resources - ModelQualityJobDefinition, DataQualityJobDefinition
Advanced Features#
Batch Operations - Efficiently manage multiple resources with batch create, update, and delete operations
Resource Tagging - Comprehensive tagging support for cost allocation, governance, and resource organization
Cross-Region Support - Deploy and manage resources across multiple AWS regions with unified interface
Custom Configurations - Override any default behavior with custom configurations and parameters
Integration Patterns#
Pipeline Integration - Use Core resources as building blocks for SageMaker Pipelines
Event-Driven Workflows - Integrate with AWS Lambda and EventBridge for automated workflows
Multi-Account Deployments - Deploy resources across multiple AWS accounts with proper IAM configuration
Migration from Boto3#
If you’re migrating from direct Boto3 usage, the key benefits are:
Simplified Interface: Object-oriented resources replace complex dictionary-based API calls
Intelligent Defaults: Automatic parameter inference reduces configuration overhead
Type Safety: Strong typing prevents common configuration errors
Better Error Messages: More descriptive error handling and validation feedback
SageMaker Core Examples#
Explore comprehensive SageMaker Core examples:
- Get started with SageMaker
- Preprocess dataset
- Train a classifier using XGBoost
- Hyperparameter tuning
- Use model artifacts for batch inference
- Create SageMaker endpoint for real-time inference
- Clean up
- SageMakerCore Overview of Resource Level Abstractions - XGBoost Training Example
- Intelligent Defaults and Logging Configuration in SageMakerCore