gpt4 book ai didi

python - 如何在 AWS Lambda 上使用 Tensorflow Lite

转载 作者:行者123 更新时间:2023-12-03 18:44:28 24 4
gpt4 key购买 nike

我正在尝试在 AWS Lambda 上托管一个我编译为 .tflite 的小模型。使用 tensorflow 网站上提供的 python 3.6 或 python 3.7 tflite 轮文件,我压缩了我的包/代码,然后上传到 S3 并链接到 lambda 并留出空间。但是,当我测试我的函数时,它在尝试加载 tflite 时崩溃了。最初,它无法加载共享对象文件。这是错误

[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_predict': No module named '_interpreter_wrapper')

我找到了这个共享对象文件并将其移动到本地目录中,然后又出现了另一个错误
Unable to import module 'lambda_predict': /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /var/task/_interpreter_wrapper.so)

我的基本系统是 Ubuntu (Bionic Beaver)
这两个错误都来自导入 tflite

最佳答案

好的,我今天解决了这个问题。

我的 github 上 amazonlinux/aws lambda 的完整解决方案和编译依赖项:https://github.com/tpaul1611/python_tflite_for_amazonlinux

所以问题是 aws lambda 在 amazonlinux 上运行,这显然需要与 tensorflow 目前在其网站上提供的不同的 tflite _interpreter_wrapper 编译。 https://www.tensorflow.org/lite/guide/python

我的解决方案是使用 docker 和 tensorflow 在其 git repo 中提供的脚本在 amazonlinux 上本地编译它。
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/pip_package

我创建了一个 Dockerfile:

FROM amazonlinux

WORKDIR /tflite

RUN yum groupinstall -y development
RUN yum install -y python3.7
RUN yum install -y python3-devel
RUN pip3 install numpy wheel
RUN git clone --branch v2.2.0-rc0 https://github.com/tensorflow/tensorflow.git
RUN sh ./tensorflow/tensorflow/lite/tools/pip_package/build_pip_package.sh
RUN pip3 install tensorflow/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3/dist/tflite_runtime-2.2.0rc0-cp37-cp37m-linux_x86_64.whl

CMD tail -f /dev/null

然后运行以下命令:
docker build -t tflite_amazonlinux .
docker run -d --name=tflite_amazonlinux tflite_amazonlinux
docker cp tflite_amazonlinux:/usr/local/lib64/python3.7/site-packages .
docker stop tflite_amazonlinux

这些命令输出一个名为 site-packages 的文件夹,其中包含为 amazonlinux 正确编译的 tflite python 依赖项,因此也包含 aws lambda。

关于python - 如何在 AWS Lambda 上使用 Tensorflow Lite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59570081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com