GitHub Pages site -- ML Container Creator
Deploying machine learning models to production shouldn't be complicated. ML Container Creator eliminates the complexity of creating SageMaker Bring Your Own Container (BYOC) deployments, letting you focus on what matters most - your models.
Perfect for:
- Data scientists who want to deploy models without DevOps overhead
- ML engineers building production model serving pipelines
- Teams standardizing their ML deployment process
- Organizations moving from prototype to production
Amazon SageMaker Bring Your Own Container (BYOC) lets you deploy custom machine learning models using your own Docker containers. This gives you full control over your model's runtime environment while leveraging SageMaker's managed infrastructure for hosting and scaling.
Every generated project includes:
- SageMaker-compatible container with health checks and invocation endpoints
- Local testing suite to validate before deployment
- Sample model and training code to illustrate the deployment
- AWS deployment scripts for ECR and SageMaker
- Multi-framework support (sklearn, XGBoost, TensorFlow, vLLM, SGLang)
Note: This tool generates starter code. Review and customize for your production requirements.
Before you begin, ensure you have:
- An AWS account with SageMaker access
- Basic familiarity with Docker and command line
- A trained machine learning model ready for deployment
# Install Yeoman and the generator
cd ml-container-creator
npm install -g yo
npm link
# Generate your project
yoAnswer a few questions about your model, and get a complete container with:
- Optimized model serving (Flask or FastAPI)
- Built-in testing and deployment scripts
- Support for SageMaker AI managed endpoint hosting
- Prepare your model: Save as
model.pkl - Generate container: Run
yoand chooseml-container-creator - Configure: Choose sklearn β pkl β flask
- Deploy: Run
./deploy.sh your-sagemaker-role-arn
- Node.js 24+
- Python 3.8+
- Docker 20+
- AWS CLI 2+
- mise - Development environment manager
- All tools are automatically managed via
mise.toml
ML Container Creator is open source under the Apache 2.0 license.
Our development is driven by user needs. Check out our live roadmap to:
- See what's coming next
- Vote on features you need
- Contribute ideas and feedback
- Track progress on requested features
Current priorities:
- Enhanced transformer model support
- Multi-model endpoints
- Auto-scaling configurations
- Cost optimization features
We welcome contributions of all sizes! Whether you're:
- Reporting bugs or requesting features
- Improving documentation
- Adding support for new frameworks
- Optimizing performance
Your input shapes the future of this tool.
This project uses mise for development environment management:
# Quick contribution setup
git clone https://github.com/awslabs/ml-container-creator
cd ml-container-creator
# Install mise (if not already installed)
curl https://mise.run | sh
# Install project dependencies and tools
mise install
mise run install
# Available development tasks
mise run test # Run unit tests
mise run lint # Run linting
# Make your changes and submit a PR!# Run unit tests
npm test
# Run tests in watch mode (for development)
npm run test:watch
# Run tests with coverage
npm run test:coverage
# Run only unit tests (skip security audit)
npx mocha test/unit.test.jsIf you prefer not to use mise:
# Clone and setup
git clone https://github.com/awslabs/ml-container-creator
cd ml-container-creator
# Ensure Node.js 24.11.1+ is installed
node --version
# Install dependencies
npm install
npm link
# Run development tasks
npm test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run lint # Run linting
npm run validate # Run full validation (lint + test)See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.
π Full Documentation Site - Complete guides, examples, and API reference
- π Getting Started - Installation and first project tutorial
- π Examples Guide - Step-by-step examples for common use cases
- π§ Troubleshooting Guide - Solutions to common issues
- π― Template System - How the template system works
- ποΈ Architecture - Complete architecture guide
- π Contributing Guide - Get started contributing in 5 minutes
- π οΈ Adding Features - Guide for adding new frameworks
- π Coding Standards - Code style and conventions
- βοΈ AWS/SageMaker Guide - Domain knowledge and best practices
- Deploy a scikit-learn Model
- Deploy an XGBoost Model
- Deploy a TensorFlow Model
- Deploy a Transformer Model (LLM)
- π Examples Guide - Detailed walkthroughs
- π§ Troubleshooting Guide - Common issues and solutions
- π Report Issues
- π¬ Community Discussions
- πΊοΈ Roadmap & Feature Requests
- π SageMaker Documentation
Container fails to start
# Check logs
docker logs your-container-name
# See detailed solutions
# https://github.com/awslabs/ml-container-creator/blob/main/docs/TROUBLESHOOTING.md#container-wont-startSageMaker deployment fails
# Check CloudWatch logs
aws logs tail /aws/sagemaker/Endpoints/your-endpoint --follow
# See detailed solutions
# https://github.com/awslabs/ml-container-creator/blob/main/docs/TROUBLESHOOTING.md#endpoint-creation-failedNeed more help? Check the full troubleshooting guide
Made with β€οΈ by the ML community, for the ML community
