انتقل إلى المحتوى

دليل النشر YOLOv8 على نقاط نهاية Amazon SageMaker

نشر نماذج رؤية الكمبيوتر المتقدمة مثل Ultralytics' YOLOv8 على Amazon SageMaker تفتح نقاط النهاية مجموعة واسعة من الاحتمالات لمختلف تطبيقات التعلم الآلي. يكمن مفتاح الاستخدام الفعال لهذه النماذج في فهم عمليات الإعداد والتكوين والنشر. YOLOv8 تصبح أكثر قوة عند دمجها بسلاسة مع Amazon SageMaker، وهي خدمة تعلم آلة قوية وقابلة للتطوير من AWS.

سيأخذك هذا الدليل خلال عملية النشر YOLOv8 PyTorch النماذج على نقاط نهاية Amazon SageMaker خطوة بخطوة. ستتعلم أساسيات إعداد بيئة AWS الخاصة بك، وتكوين النموذج بشكل مناسب، واستخدام أدوات مثل AWS CloudFormation وAWS Cloud Development Kit (CDK) للنشر.

أمازون سيج ميكر

نظرة عامة على أمازون سيج ميكر

Amazon SageMaker هي خدمة تعلم الآلة من Amazon Web Services (AWS) تبسط عملية بناء نماذج التعلم الآلي وتدريبها ونشرها. يوفر مجموعة واسعة من الأدوات للتعامل مع الجوانب المختلفة لسير عمل التعلم الآلي. يتضمن ذلك ميزات تلقائية لضبط النماذج وخيارات لنماذج التدريب على نطاق واسع وطرق مباشرة لنشر النماذج في الإنتاج. يدعم SageMaker أطر عمل التعلم الآلي الشائعة ، مما يوفر المرونة اللازمة للمشاريع المتنوعة. تغطي ميزاته أيضا تسمية البيانات وإدارة سير العمل وتحليل الأداء.

نشر YOLOv8 على نقاط نهاية Amazon SageMaker

نشر YOLOv8 على Amazon يتيح لك SageMaker استخدام بيئته المدارة للاستدلال في الوقت الفعلي والاستفادة من ميزات مثل التحجيم التلقائي. ألق نظرة على بنية AWS أدناه.

بنية AWS

الخطوة 1: إعداد بيئة AWS الخاصة بك

أولا ، تأكد من وجود المتطلبات الأساسية التالية:

  • حساب AWS: إذا لم يكن لديك حساب بالفعل، فقم بالتسجيل للحصول على حساب AWS.

  • أدوار IAM المكونة: ستحتاج إلى دور IAM مع الأذونات اللازمة ل Amazon SageMaker وAWS CloudFormation وAmazon S3. يجب أن يكون لهذا الدور سياسات تسمح له بالوصول إلى هذه الخدمات.

  • أوس CLIإذا لم تكن مثبتة بالفعل، فقم بتنزيل واجهة سطر أوامر AWS وتثبيتها (CLI) وتكوينه مع تفاصيل حسابك. اتبع ال AWS CLI تعليمات التثبيت.

  • AWS CDK: إذا لم تكن مثبتة بالفعل، فقم بتثبيت AWS Cloud Development Kit (CDK)، والتي سيتم استخدامها لبرمجة عملية النشر. اتبع تعليمات AWS CDK للتثبيت.

  • حصة الخدمة الكافية: تأكد من أن لديك حصصا كافية لموردين منفصلين في Amazon SageMaker: واحد ل ml.m5.4xlarge لاستخدام نقطة النهاية وآخر لاستخدام نقطة النهاية ml.m5.4xlarge لاستخدام مثيل دفتر الملاحظات. كل من هذه تتطلب قيمة حصة واحدة على الأقل. إذا كانت حصصك الحالية أقل من هذا المطلب، فمن المهم طلب زيادة لكل منها. يمكنك طلب زيادة الحصة باتباع التعليمات التفصيلية في وثائق حصص خدمة AWS.

الخطوة 2: استنساخ YOLOv8 مستودع سيج ميكر

الخطوة التالية هي استنساخ مستودع AWS المحدد الذي يحتوي على الموارد اللازمة للنشر YOLOv8 على سيج ميكر. يتضمن هذا المستودع ، المستضاف على GitHub ، البرامج النصية وملفات التكوين الضرورية ل CDK.

  • استنساخ مستودع GitHub: قم بتنفيذ الأمر التالي في جهازك الطرفي لاستنساخ المضيف-yolov8-on-sagemaker-endpoint repository:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
  • انتقل إلى الدليل المستنسخ: قم بتغيير الدليل الخاص بك إلى المستودع المستنسخ:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk

الخطوة 3: إعداد بيئة CDK

الآن بعد أن أصبح لديك التعليمة البرمجية اللازمة، قم بإعداد بيئتك للنشر باستخدام AWS CDK.

  • إنشاء ملف Python البيئة الافتراضية: هذا يعزل الخاص بك Python البيئة والتبعيات. ركض:
python3 -m venv .venv
  • تفعيل البيئة الافتراضية:
source .venv/bin/activate
  • تثبيت التبعيات: تثبيت المطلوب Python التبعيات للمشروع:
pip3 install -r requirements.txt
  • ترقية مكتبة AWS CDK: تأكد من أن لديك أحدث إصدار من مكتبة AWS CDK:
pip install --upgrade aws-cdk-lib

الخطوة 4: إنشاء حزمة AWS CloudFormation

  • تجميع تطبيق CDK: أنشئ قالب AWS CloudFormation من التعليمات البرمجية ل CDK الخاصة بك:
cdk synth
  • تمهيد تطبيق CDK: قم بإعداد بيئة AWS الخاصة بك لنشر CDK:
cdk bootstrap
  • نشر المكدس: سيؤدي ذلك إلى إنشاء موارد AWS الضرورية ونشر نموذجك:
cdk deploy

الخطوة 5: نشر YOLOv8 نموذج

قبل الغوص في تعليمات النشر ، تأكد من مراجعة نطاق YOLOv8 النماذج التي تقدمها Ultralytics. سيساعدك هذا في اختيار النموذج الأنسب لمتطلبات مشروعك.

بعد إنشاء AWS CloudFormation Stack، تتمثل الخطوة التالية في النشر YOLOv8.

  • افتح مثيل دفتر الملاحظات: انتقل إلى وحدة تحكم AWS وانتقل إلى خدمة Amazon SageMaker. حدد "مثيلات دفتر الملاحظات" من لوحة المعلومات، ثم حدد موقع مثيل دفتر الملاحظات الذي تم إنشاؤه بواسطة البرنامج النصي لنشر CDK. افتح مثيل دفتر الملاحظات للوصول إلى بيئة Jupyter.

  • الوصول إلى inference.py وتعديله: بعد فتح مثيل دفتر ملاحظات SageMaker في Jupyter، حدد موقع ملف inference.py. قم بتحرير الدالة output_fn في inference.py كما هو موضح أدناه واحفظ التغييرات التي أجريتها على البرنامج النصي ، مما يضمن عدم وجود أخطاء في بناء الجملة.

import json

def output_fn(prediction_output, content_type):
    """Formats model outputs as JSON string according to content_type, extracting attributes like boxes, masks, keypoints."""
    print("Executing output_fn from inference.py ...")
    infer = {}
    for result in prediction_output:
        if result.boxes is not None:
            infer['boxes'] = result.boxes.numpy().data.tolist()
        if result.masks is not None:
            infer['masks'] = result.masks.numpy().data.tolist()
        if result.keypoints is not None:
            infer['keypoints'] = result.keypoints.numpy().data.tolist()
        if result.obb is not None:
            infer['obb'] = result.obb.numpy().data.tolist()
        if result.probs is not None:
            infer['probs'] = result.probs.numpy().data.tolist()
    return json.dumps(infer)
  • نشر نقطة النهاية باستخدام 1_DeployEndpoint.ipynb: في بيئة Jupyter، افتح دفتر ملاحظات 1_DeployEndpoint.ipynb الموجود في دليل sm-notebook. اتبع الإرشادات الموجودة في دفتر الملاحظات وقم بتشغيل الخلايا لتنزيل YOLOv8 ، وقم بتعبئته برمز الاستدلال المحدث، وقم بتحميله إلى حاوية Amazon S3. سيرشدك دفتر الملاحظات خلال إنشاء نقطة نهاية SageMaker ونشرها ل YOLOv8 نموذج.

الخطوة 6: اختبار النشر الخاص بك

الآن بعد أن YOLOv8 تم نشر النموذج ، من المهم اختبار أدائه ووظائفه.

  • افتح دفتر ملاحظات الاختبار: في نفس بيئة Jupyter ، حدد موقع دفتر ملاحظات 2_TestEndpoint.ipynb وافتحه ، أيضا في دليل sm-notebook.

  • تشغيل دفتر ملاحظات الاختبار: اتبع الإرشادات الموجودة داخل دفتر الملاحظات لاختبار نقطة نهاية SageMaker المنشورة. يتضمن ذلك إرسال صورة إلى نقطة النهاية وتشغيل الاستدلالات. بعد ذلك ، ستقوم برسم الإخراج لتصور أداء النموذج ودقته ، كما هو موضح أدناه.

نتائج الاختبار YOLOv8

  • موارد التنظيف: سيرشدك دفتر ملاحظات الاختبار أيضا خلال عملية تنظيف نقطة النهاية والنموذج المستضاف. هذه خطوة مهمة لإدارة التكاليف والموارد بشكل فعال ، خاصة إذا كنت لا تخطط لاستخدام النموذج المنشور على الفور.

الخطوة 7: الرصد والإدارة

بعد الاختبار، تعد المراقبة والإدارة المستمرة للنموذج الذي تم نشره أمرا ضروريا.

  • المراقبة باستخدام Amazon CloudWatch: تحقق بانتظام من أداء وصحة نقطة نهاية SageMaker باستخدام Amazon CloudWatch.

  • إدارة نقطة النهاية: استخدم وحدة تحكم SageMaker للإدارة المستمرة لنقطة النهاية. يتضمن ذلك توسيع نطاق النموذج أو تحديثه أو إعادة نشره كما هو مطلوب.

من خلال إكمال هذه الخطوات ، ستكون قد نجحت في نشر واختبار ملف YOLOv8 نموذج على نقاط نهاية Amazon SageMaker. لا تزودك هذه العملية بالخبرة العملية في استخدام خدمات AWS لنشر تعلم الآلة فحسب، بل تضع أيضا الأساس لنشر نماذج متقدمة أخرى في المستقبل.

ملخص

أخذك هذا الدليل خطوة بخطوة خلال النشر YOLOv8 على نقاط نهاية Amazon SageMaker باستخدام AWS CloudFormation ومجموعة تطوير سحابة AWS (CDK). تتضمن العملية استنساخ مستودع GitHub الضروري ، وإعداد بيئة CDK ، ونشر النموذج باستخدام خدمات AWS ، واختبار أدائه على SageMaker.

لمزيد من التفاصيل الفنية، راجع هذه المقالة على مدونة AWS لتعلم الآلة. يمكنك أيضا التحقق من وثائق Amazon SageMaker الرسمية لمزيد من الأفكار حول الميزات والوظائف المختلفة.

هل أنت مهتم بمعرفة المزيد عن مختلف YOLOv8 التكامل؟ قم بزيارة Ultralytics صفحة دليل التكامل لاكتشاف الأدوات والإمكانات الإضافية التي يمكن أن تعزز مشاريع التعلم الآلي الخاصة بك.



تم الإنشاء 2024-01-04، تم التحديث 2024-05-03
المؤلفون: جلين-جوتشر (3)، أبيرامي فينا (1)

التعليقات