aws-samples / aws-lambda-docker-serverless-inference

Serve scikit-learn, XGBoost, TensorFlow, and PyTorch models with AWS Lambda container images support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sam build files on xgboost-inference-arm64-docker-lambda

okigan opened this issue · comments

clean build fails as shown below -- basically blocks ability to develop/deploy arm64/graviton functions

Status: Downloaded newer image for public.ecr.aws/lambda/python:3.8-arm64 ---> f7892dec0f19
Step 2/7 : COPY requirements.txt ./
 ---> f326d820d212
Step 3/7 : RUN python3.8 -m pip install -r requirements.txt -t .
 ---> [Warning] The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested
 ---> Running in 18c403fbd949
exec /bin/sh: exec format error

Build Failed
Error: XGBoostInferenceArm64Function failed to build: The command '/bin/sh -c python3.8 -m pip install -r requirements.txt -t .' returned a non-zero code: 1

system info:

$ uname -a
Linux ### 5.19.0-42-generic #43~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Apr 21 16:51:08 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

I had this issue when I was attempting to install specific dependencies on Python 3.7 (but they were only available via Python 3.8). Just ensure that your dependencies and Python version are aligned. For example, this is my setup using Python 3.8:
requests==2.31.0 joblib==1.3.2 numpy==1.23.5 xgboost==1.7.1 pandas==1.5.3