هوش داده افلاطون
جستجوی عمودی و هوش مصنوعی

سرعت گردش کار ML با Amazon SageMaker Studio Local Mode و پشتیبانی Docker | خدمات وب آمازون

تاریخ:

ما هیجان زده هستیم که دو قابلیت جدید را در این کشور معرفی کنیم Amazon SageMaker Studio که توسعه تکراری را برای شاغلین یادگیری ماشین (ML) تسریع می‌کند: حالت محلی و پشتیبانی Docker. توسعه مدل ML اغلب شامل چرخه های تکرار آهسته است زیرا توسعه دهندگان بین کدگذاری، آموزش و استقرار جابجا می شوند. هر مرحله نیاز به انتظار برای راه اندازی منابع محاسباتی از راه دور دارد که اعتبار پیاده سازی ها و دریافت بازخورد در مورد تغییرات را به تاخیر می اندازد.

با حالت محلی، توسعه‌دهندگان اکنون می‌توانند مدل‌ها را آموزش و آزمایش کنند، کد اشکال‌زدایی و اعتبار خطوط لوله سرتاسر را مستقیماً در نمونه نوت‌بوک SageMaker Studio خود بدون نیاز به چرخش منابع محاسباتی از راه دور تأیید کنند. این چرخه تکرار را از دقیقه به ثانیه کاهش می دهد و بهره وری توسعه دهنده را افزایش می دهد. پشتیبانی از Docker در نوت‌بوک‌های SageMaker Studio به توسعه‌دهندگان امکان می‌دهد بدون زحمت کانتینرهای Docker را بسازند و به کانتینرهای از پیش ساخته شده دسترسی داشته باشند، یک محیط توسعه پایدار در سراسر تیم فراهم می‌کند و از راه‌اندازی وقت‌گیر و مدیریت وابستگی اجتناب می‌کند.

Local Mode و پشتیبانی Docker یک گردش کار ساده را برای تأیید تغییرات کد و نمونه‌سازی مدل‌ها با استفاده از کانتینرهای محلی که روی نوت‌بوک SageMaker Studio اجرا می‌شوند، ارائه می‌دهند.

نمونه، مثال. در این پست، شما را از طریق راه‌اندازی حالت محلی در SageMaker Studio، اجرای یک نمونه کار آموزشی و استقرار مدل بر روی آمازون SageMaker نقطه پایانی از یک نوت بوک SageMaker Studio.

حالت محلی SageMaker Studio

SageMaker Studio حالت محلی را معرفی می‌کند و به شما امکان می‌دهد تا بدون نیاز به منابع محاسباتی از راه دور، آموزش، استنتاج، تبدیل دسته‌ای و پردازش کارهای SageMaker را مستقیماً در نمونه‌های نوت‌بوک JupyterLab، Code Editor یا SageMaker Studio اجرا کنید. مزایای استفاده از حالت محلی عبارتند از:

  • اعتبارسنجی و آزمایش فوری گردش‌های کاری درست در محیط‌های توسعه یکپارچه (IDE)
  • تکرار سریعتر از طریق اجرای محلی برای مشاغل در مقیاس کوچکتر برای بازرسی خروجی ها و شناسایی زودهنگام مسائل
  • بهبود کارایی توسعه و اشکال زدایی با حذف انتظار برای مشاغل آموزشی از راه دور
  • بازخورد فوری در مورد تغییرات کد قبل از اجرای کارهای کامل در فضای ابری

شکل زیر گردش کار با استفاده از حالت محلی در SageMaker را نشان می دهد.

گردش کار با استفاده از حالت محلی در SageMaker

برای استفاده از حالت محلی، تنظیم کنید instance_type='local' هنگام اجرای کارهای SageMaker Python SDK مانند آموزش و استنتاج. این کار آنها را به جای تامین منابع ابری، روی نمونه هایی اجرا می کند که توسط SageMaker Studio IDE های شما استفاده می شود.

اگرچه قابلیت‌های خاصی مانند آموزش توزیع‌شده فقط در فضای ابری موجود است، حالت محلی نیاز به تغییر زمینه برای تکرارهای سریع را از بین می‌برد. هنگامی که آماده استفاده از قدرت و مقیاس کامل SageMaker هستید، می توانید گردش کار خود را به صورت یکپارچه در فضای ابری اجرا کنید.

پشتیبانی از Docker در SageMaker Studio

SageMaker Studio اکنون همچنین ساخت و اجرای کانتینرهای Docker را به صورت محلی در نمونه نوت بوک SageMaker Studio شما فعال می کند. این ویژگی جدید به شما این امکان را می‌دهد که تصاویر Docker را قبل از استفاده برای آموزش و استنباط SageMaker در استودیو SageMaker بسازید و اعتبارسنجی کنید.

نمودار زیر معماری سطح بالای ارکستراسیون Docker را در استودیو SageMaker نشان می دهد.

معماری ارکستراسیون Docker سطح بالا در SageMaker Studio

با پشتیبانی Docker در SageMaker Studio، می توانید:

  • کانتینرهای Docker را با مدل ها و وابستگی های یکپارچه به طور مستقیم در SageMaker Studio بسازید
  • برای ساده سازی ایجاد تصویر، نیاز به فرآیندهای ساخت داکر خارجی را از بین ببرید
  • قبل از استقرار مدل‌ها در تولید، کانتینرها را به صورت محلی اجرا کنید تا عملکرد را تأیید کنید
  • هنگام استقرار در SageMaker برای آموزش و میزبانی مجدد از کانتینرهای محلی استفاده کنید

اگرچه برخی از قابلیت‌های پیشرفته Docker مانند شبکه‌های چند کانتینری و سفارشی تا زمان نگارش این مقاله پشتیبانی نمی‌شوند، عملکرد اصلی ساخت و اجرا برای تسریع در توسعه کانتینرها برای آوردن گردش‌های کاری کانتینر خود (BYOC) در دسترس است.

پیش نیازها

برای استفاده از حالت محلی در برنامه های SageMaker Studio، باید پیش نیازهای زیر را تکمیل کنید:

  • برای کشیدن تصاویر از رجیستری ظروف الاستیک آمازون (Amazon ECR)، حساب میزبان تصویر ECR باید اجازه دسترسی به کاربر را ارائه دهد هویت و مدیریت دسترسی نقش (IAM). نقش دامنه همچنین باید به آمازون ECR دسترسی داشته باشد.
  • برای فعال کردن قابلیت های Local Mode و Docker، باید آن را تنظیم کنید EnableDockerAccess پارامتر به true برای دامنه DockerSettings با استفاده از رابط خط فرمان AWS (AWS CLI). این به کاربران دامنه اجازه می دهد تا از ویژگی های Local Mode و Docker استفاده کنند. به طور پیش فرض، Local Mode و Docker در SageMaker Studio غیرفعال هستند. برای اعمال به‌روزرسانی سرویس Docker، همه برنامه‌های موجود SageMaker Studio باید دوباره راه‌اندازی شوند. در زیر نمونه ای از دستورات AWS CLI برای به روز رسانی دامنه SageMaker Studio است:
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

  • شما باید نقش SageMaker IAM را به روز کنید تا بتوانید تصاویر push Docker به Amazon ECR:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید

SageMaker Studio JupyterLab و Code Editor (بر اساس Code-OSS، کد ویژوال استودیو – متن باز)، SageMaker Studio را گسترش می دهد تا بتوانید با استفاده از IDE سبک وزن محبوب بنویسید، آزمایش کنید، اشکال زدایی کنید و کدهای ML و تجزیه و تحلیل خود را اجرا کنید. برای جزئیات بیشتر در مورد نحوه شروع به کار با SageMaker Studio IDE ها، مراجعه کنید افزایش بهره وری در Amazon SageMaker Studio: معرفی JupyterLab Spaces و ابزارهای هوش مصنوعی مولد و جدید – ویرایشگر کد، مبتنی بر کد-OSS در مقابل کد منبع باز اکنون در Amazon SageMaker Studio در دسترس است. مراحل زیر را کامل کنید:

فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید

  • یک ترمینال جدید ایجاد کنید.  فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید
  • افزونه Docker CLI و Docker Compose را طبق دستورالعمل‌های زیر نصب کنید GitHub repo. اگر دستورات زنجیره ای شکست خوردند، دستورات را یکی یکی اجرا کنید.

فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید شما باید SageMaker SDK را به آخرین نسخه به روز کنید.

  • دویدن pip install sagemaker -Uq در ترمینال

فقط برای ویرایشگر کد، باید محیط پایتون را طوری تنظیم کنید که در ترمینال فعلی اجرا شود.

  • در ویرایشگر کد، در منوی پروندهانتخاب کنید تنظیمات و تنظیمات.

فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید

  • جستجو و انتخاب کنید ترمینال: اجرا در فایل Dir.

فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید

  • در Code Editor یا JupyterLab، آن را باز کنید scikit_learn_script_mode_local_training_and_serving پوشه و اجرا کنید scikit_learn_script_mode_local_training_and_serving.py فایل.

با انتخاب می توانید اسکریپت را اجرا کنید دویدن در ویرایشگر کد یا با استفاده از CLI در ترمینال JupyterLab. فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید شما می توانید ببینید که چگونه مدل به صورت محلی آموزش داده می شود. سپس مدل را در نقطه پایانی SageMaker به صورت محلی مستقر می کنید و ریشه میانگین مربع خطا را محاسبه می کنید (RMSE). فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید فایل های پایتون را در فضاهای SageMaker Studio با استفاده از حالت محلی اجرا کنید

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

همچنین می توانید از یک نوت بوک در SageMaker Studio Classic برای اجرای یک کار آموزشی در مقیاس کوچک استفاده کنید CIFAR10 با استفاده از حالت محلی، مدل را به صورت محلی اجرا کنید و استنتاج را انجام دهید.

دفترچه یادداشت خود را تنظیم کنید

برای راه اندازی نوت بوک مراحل زیر را انجام دهید:

  • SageMaker Studio Classic را باز کنید و موارد زیر را شبیه سازی کنید GitHub repo.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • باز کردن pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • برای تصویر، انتخاب کنید PyTorch 2.1.0 Python 3.10 CPU Optimized.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی اطمینان حاصل کنید که نوت بوک شما نمونه و انتخاب هسته درست را نشان می دهد. شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • با انتخاب یک ترمینال باز کنید ترمینال را راه اندازی کنید در تصویر فعلی SageMaker.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • افزونه Docker CLI و Docker Compose را طبق دستورالعمل‌های زیر نصب کنید GitHub repo.

از آنجایی که از Docker از SageMaker Studio Classic استفاده می کنید، هنگام اجرای دستورات، sudo را حذف کنید زیرا ترمینال از قبل تحت superuser اجرا می شود. برای SageMaker Studio Classic، دستورات نصب به سیستم عامل تصویر برنامه SageMaker Studio بستگی دارد. به عنوان مثال، تصاویر فریمورک مبتنی بر DLC مبتنی بر اوبونتو هستند که دستورالعمل‌های زیر در آن‌ها کار می‌کنند. با این حال، برای یک تصویر مبتنی بر دبیان مانند DataScience Images، باید دستورالعمل‌های زیر را دنبال کنید GitHub repo. اگر دستورات زنجیره ای شکست خوردند، دستورات را یکی یکی اجرا کنید. شما باید نسخه Docker نمایش داده شده را ببینید. شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • پنجره ترمینال را باز بگذارید، به نوت بوک برگردید و سلول به سلول آن را اجرا کنید.

مطمئن شوید که سلول را با pip install -U sagemaker بنابراین شما از آخرین نسخه SageMaker Python SDK استفاده می کنید.

آموزش محلی

هنگامی که کار آموزش محلی SageMaker را شروع می کنید، خطوط ثبت زیر را خواهید دید:

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

این نشان می دهد که آموزش به صورت محلی با استفاده از Docker اجرا می شد.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

صبور باشید در حالی که pytorch-training:2.1-cpu-py310 تصویر داکر کشیده شده است. به دلیل حجم بزرگ آن (5.2 گیگابایت)، ممکن است چند دقیقه طول بکشد.

تصاویر Docker در حجم اصلی برنامه SageMaker Studio ذخیره می‌شوند که برای کاربران نهایی قابل دسترسی نیست. تنها راه دسترسی و تعامل با تصاویر Docker از طریق عملیات API در معرض Docker است.

از نقطه نظر محرمانه بودن کاربر، پلتفرم SageMaker Studio هرگز به تصاویر خاص کاربر دسترسی یا ذخیره نمی کند.

وقتی آموزش کامل شد، می‌توانید خطوط ثبت موفقیت زیر را ببینید:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

استنتاج محلی

مراحل زیر را انجام دهید:

  • نقطه پایانی SageMaker را با استفاده از حالت محلی SageMaker مستقر کنید.

صبور باشید در حالی که pytorch-inference:2.1-cpu-py310 تصویر داکر کشیده شده است. به دلیل حجم بزرگ آن (4.32 گیگابایت)، ممکن است چند دقیقه طول بکشد.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • با استفاده از تصاویر آزمایشی، نقطه پایانی SageMaker را که به صورت محلی مستقر شده است، فراخوانی کنید.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

شما می توانید کلاس های پیش بینی شده را ببینید: قورباغه، کشتی، ماشین و هواپیما:

Predicted:  frog ship  car plane

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • از آنجایی که نقطه پایانی SageMaker Local هنوز فعال است، به پنجره باز ترمینال بازگردید و کانتینرهای در حال اجرا را فهرست کنید:

docker ps

شما می توانید دویدن را ببینید pytorch-inference:2.1-cpu-py310 ظرفی که از نقطه پایانی SageMaker پشتیبانی می کند.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • برای خاموش کردن نقطه پایانی محلی SageMaker و توقف کانتینر در حال اجرا، زیرا می توانید هر بار فقط یک نقطه پایان محلی را اجرا کنید، کد پاکسازی را اجرا کنید.

شبیه سازی آموزش و استنتاج در SageMaker Studio Classic با استفاده از حالت محلی

  • برای اطمینان از خراب بودن کانتینر Docker، می توانید به پنجره ترمینال باز شده بروید، docker ps را اجرا کنید و مطمئن شوید که کانتینرهای در حال اجرا وجود ندارد.
  • اگر کانتینری در حال اجرا دیدید، اجرا کنید docker stop <CONTAINER_ID> متوقف کردنش

نکاتی برای استفاده از حالت محلی SageMaker

اگر برای اولین بار است که از SageMaker استفاده می کنید، به آموزش مدل های یادگیری ماشینی. برای کسب اطلاعات بیشتر در مورد استقرار مدل‌ها برای استنباط با SageMaker، مراجعه کنید استقرار مدل ها برای استنتاج.

توصیه های زیر را در نظر داشته باشید:

  • فایل ها و پوشه های ورودی و خروجی را برای درک بارگذاری مجموعه داده و مدل چاپ کنید
  • از 1-2 دوره و مجموعه داده های کوچک برای آزمایش سریع استفاده کنید
  • برای بهینه‌سازی تنظیمات محیط، وابستگی‌ها را از قبل در Dockerfile نصب کنید
  • کد سریال سازی را در نقاط پایانی برای اشکال زدایی جدا کنید

نصب Docker را به عنوان پیکربندی چرخه حیات پیکربندی کنید

می‌توانید فرآیند نصب Docker را به‌عنوان یک اسکریپت پیکربندی چرخه حیات (LCC) تعریف کنید تا هر بار که فضای SageMaker Studio جدید شروع می‌شود، راه‌اندازی را ساده کنید. LCC ها اسکریپت هایی هستند که SageMaker در طول رویدادهایی مانند ایجاد فضا اجرا می کند. رجوع به آزمایشگاه ژوپیتر, ویرایشگر کد، یا SageMaker Studio Classic راه اندازی LCC (با استفاده از docker install cli به عنوان مرجع) برای کسب اطلاعات بیشتر.

نصب Docker را به عنوان پیکربندی چرخه حیات پیکربندی کنید

نصب Docker را به عنوان پیکربندی چرخه حیات پیکربندی کنید

تصاویر سفارشی Docker را در فضاهای SageMaker Studio بسازید و آزمایش کنید

در این مرحله، Docker را در فضای برنامه JupyterLab (یا Code Editor) نصب می‌کنید و از Docker برای ساخت، آزمایش و انتشار تصاویر Docker سفارشی با فضاهای SageMaker Studio استفاده می‌کنید. Spaces برای مدیریت ذخیره سازی و نیازهای منابع برخی از برنامه های SageMaker Studio استفاده می شود. هر فضا یک رابطه 1:1 با یک نمونه از یک برنامه دارد. هر برنامه پشتیبانی شده ای که ایجاد می شود فضای مخصوص به خود را دارد. برای کسب اطلاعات بیشتر در مورد فضاهای SageMaker به افزایش بهره وری در Amazon SageMaker Studio: معرفی JupyterLab Spaces و ابزارهای هوش مصنوعی مولد. اطمینان حاصل کنید که فضای جدیدی با حداقل 30 گیگابایت فضای ذخیره سازی فراهم کرده اید تا امکان ذخیره سازی کافی برای تصاویر و مصنوعات Docker فراهم شود.

Docker را داخل یک فضا نصب کنید

برای نصب افزونه Docker CLI و Docker Compose در فضای JupyterLab، دستورات زیر را اجرا کنید. GitHub repo. SageMaker Studio فقط از Docker نسخه 20.10.X پشتیبانی می کند.

ساخت تصاویر داکر

برای تأیید اینکه Docker در فضای JupyterLab شما نصب شده و کار می کند، کد زیر را اجرا کنید:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

برای ساختن یک تصویر داکر سفارشی در فضای JupyterLab (یا ویرایشگر کد)، مراحل زیر را انجام دهید:

  • یک Dockerfile خالی بسازید:

touch Dockerfile

  • Dockerfile را با دستورات زیر ویرایش کنید، که یک تصویر وب سرور فلاسک ساده از تصویر پایه python:3.10.13-bullseye که در میزبانی شده است ایجاد می کند. مرکز داکر:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

کد زیر محتویات یک نمونه فایل کاربردی فلاسک را نشان می دهد app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

علاوه بر این، می‌توانید دستورات Dockerfile مرجع را به‌روزرسانی کنید تا بسته‌ها و مصنوعات مورد نظر خود را در بر بگیرد.

  • یک تصویر Docker با استفاده از Dockerfile مرجع بسازید:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

شامل --network sagemaker در دستور ساخت docker شما، در غیر این صورت ساخت شکست خواهد خورد. کانتینرها را نمی‌توان در پل پیش‌فرض Docker یا شبکه‌های Docker سفارشی اجرا کرد. کانتینرها در همان شبکه کانتینر برنامه SageMaker Studio اجرا می شوند. کاربران فقط می توانند از Sagemaker برای نام شبکه استفاده کنند.

  • هنگامی که ساخت شما کامل شد، در صورت وجود تصویر اعتبار سنجی کنید. بیلد را دوباره به عنوان تصویر ECR تگ کنید و فشار دهید. اگر با مشکلات مجوز مواجه شدید، دستور aws ecr get-login-password… را اجرا کنید و سعی کنید push/pull Docker را دوباره اجرا کنید:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

تست تصاویر داکر

نصب Docker در فضای JupyterLab (یا ویرایشگر کد) SageMaker Studio به شما امکان می دهد تصاویر از پیش ساخته شده یا سفارشی Docker را به عنوان کانتینر (یا برنامه های کاربردی کانتینری) آزمایش کنید. در این بخش، ما از دستور docker run برای ارائه کانتینرهای Docker در فضای SageMaker Studio برای آزمایش بارهای کاری کانتینری مانند سرویس های وب REST و اسکریپت های Python استفاده می کنیم. مراحل زیر را کامل کنید:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • اگر تصویر آزمایشی وجود نداشت، Docker pull را اجرا کنید تا تصویر را به دستگاه محلی خود بکشید:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • اگر با مشکل احراز هویت مواجه شدید، دستورات زیر را اجرا کنید:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • یک ظرف برای آزمایش حجم کاری خود ایجاد کنید:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

این یک نمونه کانتینر جدید را می چرخاند و برنامه تعریف شده با استفاده از ENTRYPOINT Docker را اجرا می کند:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • برای آزمایش اینکه آیا نقطه پایانی وب شما فعال است، به URL بروید https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

شما باید یک پاسخ JSON مشابه تصویر زیر را ببینید.

نصب Docker را به عنوان پیکربندی چرخه حیات پیکربندی کنید

پاک کردن

برای جلوگیری از تحمیل هزینه‌های غیر ضروری، منابعی را که هنگام اجرای نمونه‌های این پست ایجاد کرده‌اید حذف کنید:

  1. در دامنه SageMaker Studio خود، انتخاب کنید استودیو کلاسیک در صفحه پیمایش، سپس انتخاب کنید توقف.
  2. در دامنه SageMaker Studio خود، انتخاب کنید آزمایشگاه ژوپیتر or ویرایشگر کد در صفحه پیمایش، برنامه خود را انتخاب کنید و سپس انتخاب کنید توقف.

نتیجه

SageMaker Studio Local Mode و Docker به توسعه‌دهندگان این امکان را می‌دهد تا سریع‌تر بدون ترک فضای کاری، پیاده‌سازی‌های ML را بسازند، آزمایش کنند و تکرار کنند. این قابلیت ها با ارائه دسترسی فوری به محیط های آزمایشی و خروجی ها، گردش کار را بهینه کرده و بهره وری را بهبود می بخشد. SageMaker Studio Local Model و پشتیبانی Docker را با استفاده از ما امتحان کنید قابلیت سوار شدن سریع، که به شما امکان می دهد در عرض چند دقیقه یک دامنه جدید را برای کاربران تک بچرخانید. نظرات خود را در بخش نظرات به اشتراک بگذارید!


درباره نویسنده

شوتا سینگشوتا سینگ یک مدیر محصول ارشد در تیم پلتفرم یادگیری ماشین آمازون SageMaker (ML) در AWS، پیشرو SageMaker Python SDK است. او بیش از 5 سال در چندین نقش محصول در آمازون کار کرده است. او دارای مدرک لیسانس علوم در مهندسی کامپیوتر و کارشناسی ارشد در مهندسی مالی، هر دو از دانشگاه نیویورک است.

ایتان سلاایتان سلا یک معمار راه حل های تخصصی هوش مصنوعی و یادگیری ماشین مولد در AWS است. او با مشتریان AWS برای ارائه راهنمایی و کمک فنی کار می کند و به آنها کمک می کند تا راه حل های هوش مصنوعی و یادگیری ماشینی را در AWS بسازند و به کار گیرند. ایتان در اوقات فراغت خود از دویدن و خواندن جدیدترین مقالات یادگیری ماشین لذت می برد.

پراناو مورتیپراناو مورتی یک معمار راه حل های تخصصی AI/ML در AWS است. او بر کمک به مشتریان در ساخت، آموزش، استقرار و انتقال بارهای کاری یادگیری ماشینی (ML) به SageMaker تمرکز دارد. او قبلاً در صنعت نیمه‌رسانا کار می‌کرد و مدل‌های بینایی کامپیوتری بزرگ (CV) و پردازش زبان طبیعی (NLP) را برای بهبود فرآیندهای نیمه‌رسانا با استفاده از تکنیک‌های پیشرفته ML توسعه داد. در اوقات فراغت از بازی شطرنج و مسافرت لذت می برد. می توانید پراناو را در آن پیدا کنید لینک.

مفضل روهاوالامفضل روهاوالا مهندس نرم افزار در AWS است. او روی کتابخانه SageMaker Python SDK برای Amazon SageMaker کار می کند. او در اوقات فراغت خود از سفر، فعالیت های بیرون از خانه لذت می برد و از طرفداران فوتبال است.

نقطه_img

جدیدترین اطلاعات

نقطه_img

چت با ما

سلام! چگونه می توانم به شما کمک کنم؟