An open framework for building, shipping and running machine learning services
Project description
From a model in jupyter notebook to production API service in 5 minutes
BentoML
Installation | Getting Started | Documentation | Examples | Contributing | License
BentoML is a python framework for building, shipping and running machine learning services. It provides high-level APIs for defining an ML service and packaging its artifacts, source code, dependencies, and configurations into a production-system-friendly format that is ready for deployment.
Use BentoML if you need to:
-
Turn your ML model into REST API server, Serverless endpoint, PyPI package, or CLI tool
-
Manage the workflow of creating and deploying a ML service
Installation
pip install bentoml
Getting Started
Defining a machine learning service with BentoML is as simple as a few lines of code:
@artifacts([PickleArtifact('model')])
@env(conda_pip_dependencies=["scikit-learn"])
class IrisClassifier(BentoService):
@api(DataframeHandler)
def predict(self, df):
return self.artifacts.model.predict(df)
- Try out this 5-mins getting started guide, using BentoML to productionize a scikit-learn model and deploy it to AWS Lambda.
Feature Highlights
-
Multiple Distribution Format - Easily package your Machine Learning models and preprocessing code into a format that works best with your inference scenario:
- Docker Image - deploy as containers running REST API Server
- PyPI Package - integrate into your python applications seamlessly
- CLI tool - put your model into Airflow DAG or CI/CD pipeline
- Spark UDF - run batch serving on a large dataset with Spark
- Serverless Function - host your model on serverless platforms such as AWS Lambda
-
Multiple Framework Support - BentoML supports a wide range of ML frameworks out-of-the-box including Tensorflow, PyTorch, Scikit-Learn, xgboost, H2O, FastAI and can be easily extended to work with new or custom frameworks.
-
Deploy Anywhere - BentoML bundled ML service can be easily deployed with platforms such as Docker, Kubernetes, Serverless, Airflow and Clipper, on cloud platforms including AWS, Google Cloud, and Azure.
-
Custom Runtime Backend - Easily integrate your python pre-processing code with high-performance deep learning runtime backend, such as tensorflow-serving.
Documentation
Full documentation and API references can be found at bentoml.readthedocs.io
Examples
All examples can be found under the BentoML/examples directory. More tutorials and examples coming soon!
- - Quick Start Guide
- - Scikit-learn Sentiment Analysis
- - H2O Classification
- - Keras Text Classification
- - XGBoost Titanic Survival Prediction
- - FastAI Pet Classification
- (WIP) PyTorch Fashion MNIST classification
- (WIP) Tensorflow Keras Fashion MNIST classification
Deployment guides:
- Serverless deployment with AWS Lambda
- API server deployment with AWS SageMaker
- (WIP) API server deployment on Kubernetes
- (WIP) API server deployment with Clipper
We collect example notebook page views to help us improve this project.
To opt-out of tracking, delete the [Impression]
line in the first markdown cell of any example notebook: ![Impression](http...
Contributing
Have questions or feedback? Post a new github issue or join our Slack chat room:
Want to help build BentoML? Check out our contributing guide and the development guide.
To make sure you have a pleasant experience, please read the code of conduct. It outlines core values and beliefs and will make working together a happier experience.
Happy hacking!
Releases
BentoML is under active development and is evolving rapidly. Currently it is a Beta release, we may change APIs in future releases.
Read more about the latest features and changes in BentoML from the releases page. and follow the BentoML Community Calendar.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file BentoML-0.2.2.tar.gz
.
File metadata
- Download URL: BentoML-0.2.2.tar.gz
- Upload date:
- Size: 51.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1667ff712420b6ae08c400b32f01aea33b3e484f1b75e9f70985575b33f42284 |
|
MD5 | 327c68eb5421420fdd15c23560be6d39 |
|
BLAKE2b-256 | 9e2e0e10baa47adf248fb553cf47d8b1d25036a7cd8caed70210a7a29bb7f811 |
File details
Details for the file BentoML-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: BentoML-0.2.2-py3-none-any.whl
- Upload date:
- Size: 99.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 806f10aa3f8b767296e8e405d84a9bb5a7feaea875d194c0db5c8050c8720b31 |
|
MD5 | ec718a4ea4f56e46e24e88eb61e40f24 |
|
BLAKE2b-256 | 21052a3bd11e46675c4534bc112503cc6126bed9c5fd62609094b1e51852b462 |