Serve scikit-learn, XGBoost, TensorFlow, and PyTorch models with AWS Lambda container images support.
This repository contains resources to help you deploy Lambda Functions based on Python and Java Docker Images.
The applications deployed illustrate how to perform inference for scikit-learn, XGBoost, TensorFlow and PyTorch models using Lambda Function.
AWS Lambda is one of the most cost-effective service that lets you run code without provisioning or managing servers.
It offers many advantages when working with serverless infrastructure. When you break down the logic of your machine learning service into a single Lambda function for a single request, things become much simpler and easy to scale.
You can forget all about the resource handling needed for the parallel requests coming into your model.
If your usage is sparse and tolerable to a higher latency, Lambda is a great choice among various solutions.
The repository contains the following resources:
scikit-learn resources:
XGBoost resources:
TensorFlow resources:
PyTorch resources:
SageMaker Built-in Algorithms resources:
Deep Java Library (DJL) resources:
Serverless Object Detection Model Serving with Deep Java Library (DJL): This example illustrates how to serve TensorFlow Object Detection model on Lambda Function using Deep Java Library (DJL).
Serverless TensorFlow Lite Image Classification Model Serving with Deep Java Library (DJL): This example illustrates how to serve TensorFlow Lite Image Classification model on Lambda Function using Deep Java Library (DJL).
Create an AWS account if you do not already have one and login.
Install Docker Desktop
Clone the repo onto your local development machine using git clone
.
Open the project in any IDE of your choice in order to run the example Python and Java files.
Follow the instructions in each of the example README.md file.
Please contact @e_sela or raise an issue on this repo.
This library is licensed under the MIT-0 License. See the LICENSE file.