1

是否可以在 AWS Lambda 上运行 TensorFlow.js(Node.js 版本 - tfjs-node)?我尝试将 tfjs-node 部署为 AWS Lambda 层,但它超出了允许的 256 MB 大小限制。

4

2 回答 2

1

最后,我设法将之前的版本之一(1.1.2)部署tfjs-node到 AWS Lambda 层。显然这是最后一个版本,它足够小,可以把它放在那里。

要自己构建它,您可以使用以下脚本。您需要Docker在您的机器上安装它才能为 AWS Linux 构建它:

#!/bin/sh

# cleaning previous build
rm -rf ./layer

# installing tfjs-node with docker
docker run --rm -v $PWD:/var/task lambci/lambda:build-nodejs12.x npm install @tensorflow/tfjs-node@1.1.2 --no-package-lock --prefix layer/nodejs

# zipping layer
cd ./layer && zip -qrX ./tfjs-node-layer.zip .

# removing unzipped module
rm -rf ./layer/nodejs

这将./layers/tfjs-node-layer.zip在您的工作目录中创建。您需要将其上传到存储桶并从存储桶 URLs3创建新的 AWS Lambda 层。s3

于 2020-01-24T15:57:28.527 回答
1

AWS Lambda 函数可以挂载 EFS(自 2020 年 6 月起)。您可以使用 EFS 加载大于 AWS Lambda 的 250 MB 程序包部署大小限制的库或程序包。

如何设置它的详细步骤在这里:https ://aws.amazon.com/blogs/aws/new-a-shared-file-system-for-your-lambda-functions/

于 2020-10-25T16:13:32.610 回答