What's New?
-
Service API Input/Output adapter #783 #784 #789, by @bojiang
- A new API for defining service input and output data types and configs
- The new
InputAdapter
is essentially theAPI Handler
concept in BentoML prior to version 0.8.x release - The old
API Handler
syntax is being deprecated, it will continue to be supported until version 1.0 - The main motivation for this change, is to enable us to build features such as new API output types(such as file/image as service output), add gRPC support, better OpenAPI support, and more performance optimizations in online serving down the line
-
Model server docker image build improvements #761
- Reduced docker build time by using a pre-built BentoML model server docker image as the base image
- Removed the dependency on
apt-get
andconda
from the custom docker base image - Added alpine based docker image for model server deployment
-
Improved Image Input handling:
- Add micro-batching support for ImageInput (former ImageHandler) #717, by @bojiang
- Add support for using a list of images as input from CLI prediction run #731, by @bojiang
- In the new Input Adapter API introduced in 0.8.0, the
LegacyImageInput
is identical to the previousImageHandler
- The new
ImageInput
works only for single image input, unlike the oldImageHandler
- For users using the old
ImageHandler
, we recommend migrating to the newImageInput
if it is only used to handle single image input - For users using
ImageHanlder
for multiple images input, wait until theMultiImageInput
is added, which will be a separate input adapter type
-
Added JsonArtifact for storing configuration and JsonSerializable data #746, by @lemontheme
Bug Fixes & Improvements:
- Fixed Sagemaker deployment
ModuleNotFounderError
due to wrong gevent version #785 by @flosincapite - Fixed SpacyModelArtifact not exposed in
bentoml.artifacts
#782, by @docteurZ - Fixed errors when inheriting handler #767, by @bojiang
- Removed
future
statements for py2 support, #756, by @jjmachan - Fixed bundled_pip_dependencies installation on AWS Lambda deployment #794
- Removed
aws.region
config, use AWS CLI's own config instead #740 - Fixed SageMaker deployment CLI: delete deployment with namespace specified #741
- Removed
pandas
from BentoML dependencies list, it is only required when using DataframeInput #738
Internal, CI, Testing:
- Added docs watch script for Linux #781, by @akainth015
- Improved build bash scripts #774, by @akainth015, @flosincapite
- Fixed YataiService end-to-end tests #773
- Added PyTorch integration tests #762, by @jjmachan
- Added ONNX integration tests #726, by @yubozhao
- Added linter and formatting check to Travis CI
- Codebase cleanup, reorganized deployment and repository module #768 #769 #771
Announcements:
- The BentoML team is planning to start a bi-weekly community meeting to demo new features, discuss the roadmap and gather feedback. Join the BentoML slack channel for more details: click to join BentoML slack.
- There are a few issues with PyPI release
0.8.0
that made it not usable. The newer0.8.1
release has those issues fixed. Please do not use version0.8.0
.