搜索
首页科技周边人工智能如何使用 Docker 在 AWS Lambda 上部署机器学习模型

在本教程中,我们将引导您完成将 ML 模型打包为 Docker 容器并将其部署在无服务器计算服务 AWS Lambda 上的过程。

在本教程结束时,您将拥有一个可以通过 API 调用的工作 ML 模型,并且您将对如何在云上部署 ML 模型有更深入的了解。无论您是机器学习工程师、数据科学家还是开发人员,本教程旨在让对 ML 和 Docker 有基本了解的任何人都可以访问。那么,让我们开始吧!

什么是Docker?

码头工人是一种旨在使使用容器更轻松地创建、部署和运行应用程序的工具。容器允许开发人员将应用程序及其所需的所有部分打包在一起,例如库和其他依赖项,并将其作为一个包发送出去。通过使用容器,开发人员可以确保他们的应用程序将在任何其他机器上运行,而不管机器可能具有的任何自定义设置可能与用于编写和测试代码的机器不同。Docker 提供了一种将应用程序及其依赖项打包到轻量级、可移植容器中的方法,该容器可以轻松地从一个环境移动到另一个环境。这使得创建一致的开发、测试和生产环境以及更快速、更可靠地部署应用程序变得更加容易。从这里安装 Docker:https://docs.docker.com/get-docker/。

什么是 AWS Lambda?

Amazon Web Services (AWS) Lambda是一个无服务器计算平台,它运行代码以响应事件并自动为您管理底层计算资源。它是 AWS 提供的一项服务,允许开发人员在云中运行他们的代码,而不必担心运行代码所需的基础设施。AWS Lambda 会自动扩展您的应用程序以响应传入的请求流量,您只需为消耗的计算时间付费。这使其成为构建和运行微服务、实时数据处理和事件驱动应用程序的有吸引力的选择。

什么是 AWS ECR?

Amazon Web Services (AWS) Elastic Container Registry (ECR) 是一个完全托管的 Docker 容器注册表,可让开发人员轻松存储、管理和部署 Docker 容器映像。它是一种安全且可扩展的服务,使开发人员能够在 AWS 云中存储和管理 Docker 映像,并轻松地将它们部署到 Amazon Elastic Container Service (ECS) 或其他基于云的容器编排平台。ECR 与其他 AWS 服务集成,例如 Amazon ECS 和 Amazon EKS,并为 Docker 命令行界面 (CLI) 提供本地支持。这使得使用熟悉的 Docker 命令从 ECR 推送和拉取 Docker 映像以及自动化构建、测试和部署容器化应用程序的过程变得容易。

安装 AWS CLI

使用这个在您的系统上安装 AWS CLI 。通过在您的 AWS 账户中创建 IAM 用户来获取 AWS 访问密钥 ID 和 AWS 秘密访问密钥。安装后,运行以下命令配置您的 AWS CLI 并插入必填字段。

aws configure

使用 Docker 部署 Lambda 函数

我们将在本教程中部署 OpenAI 剪辑模型来矢量化输入文本。Lambda 函数需要 Docker 容器中的 amazon Linux 2,因此我们使用
public.ecr.aws/lambda/python:3.8。此外,由于 Lambda 具有只读文件系统,它不允许我们在内部下载模型,因此我们需要在创建映像时下载并复制它们。

从这里获取工作代码并提取它。

更改 Dockerfile 所在的工作目录,然后运行以下命令:

docker build -t lambda_image .

现在我们已经准备好要在 Lambda 上部署的映像。要在本地检查它,请运行命令:

docker run -p 9000:8080 lambda_image

要检查它,向它发送一个 curl 请求,它应该返回输入文本的向量:

curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"text": "This is a test for text encoding"}'

输出

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

先将镜像部署到Lambda上,我们需要将其推送到ECR上,因此登录AWS账户,在ECR中创建仓库lambda_image。创建存储库后,转到创建的存储库,您将看到视图推送命令选项单击它,您将获得将图像推送到存储库的命令。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

现在运行第一个命令以使用 AWS CLI 对您的 Docker 客户端进行身份验证。

我们已经创建了 Docker 镜像,因此跳过第二步并运行第三条命令来标记创建的镜像。

运行最后一条命令将镜像推送到 ECR 中。运行后你会看到界面是这样的:

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

推送完成后,您将在 ECR 的存储库中看到带有“:latest”标签的图像。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

复制图像的 URI。我们在创建 Lambda 函数时需要它。

现在转到 Lambda 函数并单击“创建函数”选项。我们正在从图像创建一个函数,因此选择容器图像的选项。添加函数名称并粘贴我们从 ECR 复制的 URI,或者您也可以浏览图像。选择architecture x84_64,最后点击create_image选项。

构建 Lambda 函数可能需要一些时间,请耐心等待。执行成功后,你会看到如下界面:

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

Lambda 函数默认有 3 秒的超时限制和 128 MB 的 RAM,所以我们需要增加它,否则它会抛出错误。为此,请转到配置选项卡并单击“编辑”。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

现在将超时设置为 5-10 分钟(最大限制为 15 分钟)并将 RAM 设置为 2-3 GB,然后单击保存按钮。更新 Lambda 函数的配置需要一些时间。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

更新更改后,该功能就可以进行测试了。要测试 lambda 函数,请转到“测试”选项卡并将键值添加到事件 JSON 中作为文本:“这是文本编码测试。” 然后点击测试按钮。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

由于我们是第一次执行 Lambda 函数,因此执行可能需要一些时间。成功执行后,您将在执行日志中看到输入文本的向量。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

现在我们的 Lambda 函数已部署并正常工作。要通过 API 访问它,我们需要创建一个函数 URL。

要为 Lambda 函数创建 URL,请转到 Configuration 选项卡并选择 Function URL 选项。然后单击创建函数 URL 选项。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

现在,保留身份验证 None 并单击 Save。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

该过程完成后,您将获得用于通过 API 访问 Lambda 函数的 URL。以下是使用 API 访问 Lambda 函数的示例 Python 代码:

import requests function_url = ""url = f"{function_url}?text=this is test text" payload={}headers = {} response = requests.request("GET", url, headers=headers, data=payload) print(response.text)

成功执行代码后,您将获得输入文本的向量。

如何使用 Docker 在 AWS Lambda 上部署机器学习模型

所以这是一个如何使用 Docker 在 AWS Lambda 上部署 ML 模型的示例。如果您有任何疑问,请告诉我们。

以上是如何使用 Docker 在 AWS Lambda 上部署机器学习模型的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
最新的最佳及时工程技术的年度汇编最新的最佳及时工程技术的年度汇编Apr 10, 2025 am 11:22 AM

对于那些可能是我专栏新手的人,我广泛探讨了AI的最新进展,包括体现AI,AI推理,AI中的高科技突破,及时的工程,AI培训,AI,AI RE RE等主题

欧洲的AI大陆行动计划:Gigafactories,Data Labs和Green AI欧洲的AI大陆行动计划:Gigafactories,Data Labs和Green AIApr 10, 2025 am 11:21 AM

欧洲雄心勃勃的AI大陆行动计划旨在将欧盟确立为人工智能的全球领导者。 一个关键要素是建立了AI Gigafactories网络,每个网络都有大约100,000个高级AI芯片 - 2倍的自动化合物的四倍

微软的直接代理商故事是否足以创造更多的粉丝?微软的直接代理商故事是否足以创造更多的粉丝?Apr 10, 2025 am 11:20 AM

微软对AI代理申请的统一方法:企业的明显胜利 微软最近公告的新AI代理能力清晰而统一的演讲给人留下了深刻的印象。 与许多技术公告陷入困境不同

向员工出售AI策略:Shopify首席执行官的宣言向员工出售AI策略:Shopify首席执行官的宣言Apr 10, 2025 am 11:19 AM

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

IBM启动具有完整AI集成的Z17大型机IBM启动具有完整AI集成的Z17大型机Apr 10, 2025 am 11:18 AM

IBM的Z17大型机:集成AI用于增强业务运营 上个月,在IBM的纽约总部,我收到了Z17功能的预览。 以Z16的成功为基础(于2022年推出并证明持续的收入增长

5 Chatgpt提示取决于别人并完全相信自己5 Chatgpt提示取决于别人并完全相信自己Apr 10, 2025 am 11:17 AM

解锁不可动摇的信心,消除了对外部验证的需求! 这五个CHATGPT提示将指导您完全自力更生和自我感知的变革转变。 只需复制,粘贴和自定义包围

AI与您的思想危险相似AI与您的思想危险相似Apr 10, 2025 am 11:16 AM

人工智能安全与研究公司 Anthropic 最近的一项[研究]开始揭示这些复杂过程的真相,展现出一种令人不安地与我们自身认知领域相似的复杂性。自然智能和人工智能可能比我们想象的更相似。 窥探内部:Anthropic 可解释性研究 Anthropic 进行的研究的新发现代表了机制可解释性领域的重大进展,该领域旨在反向工程 AI 的内部计算——不仅仅观察 AI 做了什么,而是理解它在人工神经元层面如何做到这一点。 想象一下,试图通过绘制当有人看到特定物体或思考特定想法时哪些神经元会放电来理解大脑。A

龙翼展示高通的边缘动力龙翼展示高通的边缘动力Apr 10, 2025 am 11:14 AM

高通的龙翼:企业和基础设施的战略飞跃 高通公司通过其新的Dragonwing品牌在全球范围内积极扩展其范围,以全球为目标。 这不仅仅是雷布兰

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用