


Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker
Dalam tutorial ini, kami membimbing anda melalui proses membungkus model ML anda sebagai bekas Docker dan menggunakannya pada perkhidmatan pengkomputeran tanpa pelayan AWS Lambda.
Pada penghujung tutorial ini, anda akan mempunyai model ML yang berfungsi yang boleh dipanggil melalui API, dan anda akan mempunyai pemahaman yang lebih mendalam tentang cara menggunakan model ML pada awan. Sama ada anda seorang jurutera pembelajaran mesin, saintis data atau pembangun, tutorial ini direka bentuk untuk boleh diakses oleh sesiapa sahaja yang mempunyai pemahaman asas tentang ML dan Docker. Jadi, mari mulakan!
Apakah itu Docker?
Docker ialah alat yang direka untuk memudahkan anda membuat, menggunakan dan menjalankan aplikasi menggunakan bekas. Bekas membenarkan pembangun membungkus aplikasi bersama-sama dengan semua bahagian yang diperlukan, seperti perpustakaan dan kebergantungan lain, dan menghantarnya sebagai satu pakej. Dengan menggunakan bekas, pembangun boleh memastikan bahawa aplikasi mereka akan dijalankan pada mana-mana mesin lain, tanpa mengira sebarang tetapan tersuai yang mungkin ada pada mesin yang mungkin berbeza daripada mesin yang digunakan untuk menulis dan menguji kod. Docker menyediakan cara untuk membungkus aplikasi dan kebergantungan mereka ke dalam bekas mudah alih yang ringan yang boleh dialihkan dengan mudah dari satu persekitaran ke persekitaran yang lain. Ini memudahkan untuk mencipta persekitaran pembangunan, ujian dan pengeluaran yang konsisten serta menggunakan aplikasi dengan lebih pantas dan lebih dipercayai. Pasang Docker dari sini: https://docs.docker.com/get-docker/.
Apakah itu AWS Lambda?
Amazon Web Services (AWS) Lambda ialah platform pengkomputeran tanpa pelayan yang menjalankan kod sebagai tindak balas kepada acara dan mengurus sumber pengkomputeran asas secara automatik untuk anda. Ia adalah perkhidmatan yang disediakan oleh AWS yang membolehkan pembangun menjalankan kod mereka dalam awan tanpa perlu risau tentang infrastruktur yang diperlukan untuk menjalankan kod tersebut. AWS Lambda menskalakan aplikasi anda secara automatik sebagai tindak balas kepada trafik permintaan masuk dan anda hanya membayar untuk masa pengiraan yang anda gunakan. Ini menjadikannya pilihan yang menarik untuk membina dan menjalankan perkhidmatan mikro, pemprosesan data masa nyata dan aplikasi dipacu peristiwa.
Apakah itu AWS ECR?
Amazon Web Services (AWS) Elastic Container Registry (ECR) ialah pendaftaran kontena Docker terurus sepenuhnya yang membolehkan pembangun menyimpan, mengurus dan menggunakan imej kontena Docker dengan mudah. Ia adalah perkhidmatan yang selamat dan berskala yang membolehkan pembangun menyimpan dan mengurus imej Docker dalam awan AWS dan menggunakannya dengan mudah ke Amazon Elastic Container Service (ECS) atau platform orkestrasi kontena berasaskan awan yang lain. ECR berintegrasi dengan perkhidmatan AWS lain, seperti Amazon ECS dan Amazon EKS, dan menyediakan sokongan asli untuk antara muka baris arahan (CLI) Docker. Ini memudahkan penggunaan arahan Docker yang biasa digunakan untuk menolak dan menarik imej Docker daripada ECR dan mengautomasikan proses membina, menguji dan menggunakan aplikasi kontena.
Pasang AWS CLI
Gunakan ini untuk memasang AWS CLI pada sistem anda. Dapatkan ID kunci akses AWS dan kunci akses rahsia AWS dengan mencipta pengguna IAM dalam akaun AWS anda. Selepas pemasangan, jalankan arahan berikut untuk mengkonfigurasi AWS CLI anda dan masukkan medan yang diperlukan.
aws configure
Menggunakan fungsi Lambda menggunakan Docker
Kami akan menggunakan model klip OpenAI dalam tutorial ini untuk mengvektorkan teks input. Fungsi Lambda memerlukan amazon Linux 2 dalam bekas Docker, jadi kami menggunakan
public.ecr.aws/lambda/python:3.8. Selain itu, memandangkan Lambda mempunyai sistem fail baca sahaja, ia tidak membenarkan kami memuat turun model secara dalaman, jadi kami perlu memuat turun dan menyalinnya semasa mencipta imej.
Dapatkan kod yang berfungsi dari sini dan ekstraknya.
Tukar direktori kerja di mana Dockerfile terletak dan jalankan arahan berikut:
docker build -t lambda_image .
Kini kami mempunyai imej sedia untuk digunakan pada Lambda. Untuk menyemaknya secara setempat, jalankan arahan:
docker run -p 9000:8080 lambda_image
Untuk menyemaknya, hantar permintaan curl dan ia harus mengembalikan vektor teks input:
curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"text": "This is a test for text encoding"}'
output
Mula-mula gunakan imej ke Lambda. Kita perlu menolaknya ke ECR, jadi log masuk ke akaun AWS dan buat lambda_image gudang dalam ECR. Selepas mencipta repositori, pergi ke repositori yang dibuat dan anda akan melihat pilihan arahan tolak lihat klik padanya dan anda akan mendapat arahan untuk menolak imej ke repositori.
Sekarang jalankan arahan pertama untuk mengesahkan klien Docker anda menggunakan AWS CLI.
Kami telah pun mencipta imej Docker, jadi langkau langkah kedua dan jalankan arahan ketiga untuk menandakan imej yang dibuat.
运行最后一条命令将镜像推送到 ECR 中。运行后你会看到界面是这样的:
推送完成后,您将在 ECR 的存储库中看到带有“:latest”标签的图像。
复制图像的 URI。我们在创建 Lambda 函数时需要它。
现在转到 Lambda 函数并单击“创建函数”选项。我们正在从图像创建一个函数,因此选择容器图像的选项。添加函数名称并粘贴我们从 ECR 复制的 URI,或者您也可以浏览图像。选择architecture x84_64,最后点击create_image选项。
构建 Lambda 函数可能需要一些时间,请耐心等待。执行成功后,你会看到如下界面:
Lambda 函数默认有 3 秒的超时限制和 128 MB 的 RAM,所以我们需要增加它,否则它会抛出错误。为此,请转到配置选项卡并单击“编辑”。
现在将超时设置为 5-10 分钟(最大限制为 15 分钟)并将 RAM 设置为 2-3 GB,然后单击保存按钮。更新 Lambda 函数的配置需要一些时间。
更新更改后,该功能就可以进行测试了。要测试 lambda 函数,请转到“测试”选项卡并将键值添加到事件 JSON 中作为文本:“这是文本编码测试。” 然后点击测试按钮。
由于我们是第一次执行 Lambda 函数,因此执行可能需要一些时间。成功执行后,您将在执行日志中看到输入文本的向量。
现在我们的 Lambda 函数已部署并正常工作。要通过 API 访问它,我们需要创建一个函数 URL。
要为 Lambda 函数创建 URL,请转到 Configuration 选项卡并选择 Function URL 选项。然后单击创建函数 URL 选项。
现在,保留身份验证 None 并单击 Save。
该过程完成后,您将获得用于通过 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 上部署 ML 模型的示例。如果您有任何疑问,请告诉我们。
Atas ialah kandungan terperinci Cara menggunakan model pembelajaran mesin pada AWS Lambda menggunakan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)
