Method #1: Â Deploying a mannequin saved on Amazon S3
Deploying a ML mannequin as a Python pickle file in an Amazon S3 bucket and utilizing it by a Lambda API makes mannequin deployment easy, scalable, and cost-effective. We arrange AWS Lambda to load this mannequin from S3 when wanted, enabling fast predictions with out requiring a devoted server. When somebody calls the API linked to the Lambda perform, the mannequin is fetched, run, and returns predictions primarily based on the enter information. This serverless setup ensures excessive availability, scales robotically, and saves prices since you solely pay when the API is used.
Step 1. Create a zipper archive for the Lambda layer
A Lambda layer is a zipper archive that comprises libraries, a customized runtime, and different dependencies. I’ll show the creation of a Lambda layer utilizing two Python libraries, Pandas and Scikit-learn, which are usually utilized in ML fashions. Under is the code for making a Lambda layer zip archive, containing Pandas and Scikit-learn, utilizing Docker. Create a file, identify it createlayer.sh
, and replica the code into it.
if [ "$1" != "" ] || [$# -gt 1]; then
echo "Creating layer appropriate with python model $1"
docker run -v "$PWD":/var/activity "lambci/lambda:build-python$1" /bin/sh -c "pip set up -r necessities.txt -t python/lib/python$1/site-packages/; exit"
zip -r sklearn_pandas_layer.zip python > /dev/null
rm -r python
echo "Finished creating layer!"
ls -lah sklearn_pandas_layer.zip
else
echo "Enter python model as argument - ./createlayer.sh 3.6"
Now, in the identical listing, create a file named necessities.txt
to retailer the names and variations of the libraries within the layer. On this case, our necessities.txt
file will record the names and variations of the Pandas and Scikit-learn libraries weâre utilizing.
pandas==0.23.4
scikit-learn==0.20.3
Subsequent, within the terminal, navigate to the listing the place you’ve gotten positioned the createlayer.sh
and necessities.txt
information and run the command beneath to generate the Lambda layer zip file.