🍱 We have just released BentoML v1.0.1 with a number of features and bug fixes requested by the community.
- Added support for custom model versions, e.g.
bentoml.tensorflow.save_model("model_name:1.0.2", model)
.
- Fixed PyTorch Runner payload serialization issue due to tensor not on CPU.
TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first
- Fixed Transformers GPU device assignment due to kwargs handling.
- Fixed excessive Runner thread spawning issue under high load.
- Fixed PyTorch Runner inference error due to saving tensor during inference mode.
RuntimeError: Inference tensors cannot be saved for backward. To work around you can make a clone to get a normal tensor and use it in autograd.
- Fixed Keras Runner error when the input has only a single element.
- Deprecated the
validate_json
option in JSON IO descriptor and recommended specifying validation logic natively in the Pydantic model.
🎨 We added an examples directory and in it you will find interesting sample projects demonstrating various applications of BentoML. We welcome your contribution if you have a project idea and would like to share with the community.
💡 We continue to update the documentation on every release to help our users unlock the full power of BentoML.
- Did you know BentoML service supports mounting and calling runners from custom FastAPI and Flask apps?
- Did you know IO descriptor supports input and output validation of schema, shape, and data types?
What's Changed
- chore: remove all
--pre
from documentation by @aarnphm in https://github.com/bentoml/BentoML/pull/2738
- chore(framework): onnx guide minor improvements by @larme in https://github.com/bentoml/BentoML/pull/2744
- fix(framework): fix how pytorch DataContainer convert GPU tensor by @larme in https://github.com/bentoml/BentoML/pull/2739
- doc: add missing variable by @robsonpeixoto in https://github.com/bentoml/BentoML/pull/2752
- chore(deps):
cattrs>=22.1.0
in setup.cfg by @sugatoray in https://github.com/bentoml/BentoML/pull/2758
- fix(transformers): kwargs and migrate to framework tests by @ssheng in https://github.com/bentoml/BentoML/pull/2761
- chore: add type hint for run and async_run by @aarnphm in https://github.com/bentoml/BentoML/pull/2760
- docs: fix typo in SECURITY.md by @parano in https://github.com/bentoml/BentoML/pull/2766
- chore: use pypa/build as PEP517 backend by @aarnphm in https://github.com/bentoml/BentoML/pull/2680
- chore(e2e): capture log output by @aarnphm in https://github.com/bentoml/BentoML/pull/2767
- chore: more robust prometheus directory ensuring by @bojiang in https://github.com/bentoml/BentoML/pull/2526
- doc(framework): add scikit-learn section to ONNX documentation by @larme in https://github.com/bentoml/BentoML/pull/2764
- chore: clean up dependencies by @sauyon in https://github.com/bentoml/BentoML/pull/2769
- docs: misc docs reorganize and cleanups by @parano in https://github.com/bentoml/BentoML/pull/2768
- fix(io descriptors): finish removing init_http_response by @sauyon in https://github.com/bentoml/BentoML/pull/2774
- chore: fix typo by @aarnphm in https://github.com/bentoml/BentoML/pull/2776
- feat(model): allow custom model versions by @sauyon in https://github.com/bentoml/BentoML/pull/2775
- chore: add watchfiles as bentoml dependency by @aarnphm in https://github.com/bentoml/BentoML/pull/2777
- doc(framework): keras guide by @larme in https://github.com/bentoml/BentoML/pull/2741
- docs: Update service schema and validation by @ssheng in https://github.com/bentoml/BentoML/pull/2778
- doc(frameworks): fix pip package syntax by @larme in https://github.com/bentoml/BentoML/pull/2782
- fix(runner): thread limiter doesn't take effect by @bojiang in https://github.com/bentoml/BentoML/pull/2781
- feat: add additional env var configuring num of threads in Runner by @parano in https://github.com/bentoml/BentoML/pull/2786
- fix(templates): sharing variables at template level by @aarnphm in https://github.com/bentoml/BentoML/pull/2796
- bug: fix JSON io_descriptor validate_json option by @parano in https://github.com/bentoml/BentoML/pull/2803
- chore: improve error message when failed importing user service code by @parano in https://github.com/bentoml/BentoML/pull/2806
- chore: automatic cache action version update and remove stale bot by @aarnphm in https://github.com/bentoml/BentoML/pull/2798
- chore(deps): bump actions/checkout from 2 to 3 by @dependabot in https://github.com/bentoml/BentoML/pull/2810
- chore(deps): bump codecov/codecov-action from 2 to 3 by @dependabot in https://github.com/bentoml/BentoML/pull/2811
- chore(deps): bump github/codeql-action from 1 to 2 by @dependabot in https://github.com/bentoml/BentoML/pull/2813
- chore(deps): bump actions/cache from 2 to 3 by @dependabot in https://github.com/bentoml/BentoML/pull/2812
- chore(deps): bump actions/setup-python from 2 to 4 by @dependabot in https://github.com/bentoml/BentoML/pull/2814
- fix(datacontainer): pytorch to_payload should disable gradient by @aarnphm in https://github.com/bentoml/BentoML/pull/2821
- fix(framework): fix keras single input edge case by @larme in https://github.com/bentoml/BentoML/pull/2822
- fix(framework): keras GPU handling by @larme in https://github.com/bentoml/BentoML/pull/2824
- docs: update custom bentoserver guide by @parano in https://github.com/bentoml/BentoML/pull/2809
- fix(runner): bind limiter to runner_ref instead by @bojiang in https://github.com/bentoml/BentoML/pull/2826
- fix(pytorch): inference_mode context is thead local by @bojiang in https://github.com/bentoml/BentoML/pull/2828
- fix: address multiple tags for containerize by @aarnphm in https://github.com/bentoml/BentoML/pull/2797
- chore: Add gallery projects under examples by @ssheng in https://github.com/bentoml/BentoML/pull/2833
- chore: running formatter on examples folder by @aarnphm in https://github.com/bentoml/BentoML/pull/2834
- docs: update security auth middleware by @g0nz4rth in https://github.com/bentoml/BentoML/pull/2835
- fix(io_descriptor): DataFrame columns check by @alizia in https://github.com/bentoml/BentoML/pull/2836
- fix: examples directory structure by @ssheng in https://github.com/bentoml/BentoML/pull/2839
New Contributors
- @robsonpeixoto made their first contribution in https://github.com/bentoml/BentoML/pull/2752
- @sugatoray made their first contribution in https://github.com/bentoml/BentoML/pull/2758
- @g0nz4rth made their first contribution in https://github.com/bentoml/BentoML/pull/2835
- @alizia made their first contribution in https://github.com/bentoml/BentoML/pull/2836
Full Changelog: https://github.com/bentoml/BentoML/compare/v1.0.0...v1.0.1