تصحيح نقاط النهاية عبر الإنترنت محليا في التعليمات البرمجية Visual Studio (معاينة)
APPLY TO: Azure CLI ml extension
v1
v2 (معاينة)
تعرف على كيفية استخدام مصحح أخطاء رمز Visual Studio (VS Code) لاختبار نقاط النهاية عبر الإنترنت وتصحيحها محليا قبل نشرها على Azure.
تساعدك نقاط النهاية المحلية التعلم الآلي Azure على اختبار البرنامج النصي لتسجيل النقاط وتكوين البيئة وتكوين التعليمات البرمجية ونموذج التعلم الآلي محليا وتصحيحها.
تصحيح الأخطاء المحلية لنقطة النهاية عبر الإنترنت
يمكن أن يساعدك تصحيح أخطاء نقاط النهاية محليا قبل نشرها على السحابة في اكتشاف الأخطاء في التعليمات البرمجية والتكوين في وقت مبكر. لديك خيارات مختلفة لتصحيح نقاط النهاية محليا باستخدام VS Code.
- Azure التعلم الآلي inference HTTP server (Preview)
- نقطة النهاية المحلية
يركز هذا الدليل على نقاط النهاية المحلية.
يوفر الجدول التالي نظرة عامة على السيناريوهات لمساعدتك في اختيار ما يناسبك.
| السيناريو | خادم HTTP الاستدلال | نقطة النهاية المحلية |
|---|---|---|
| تحديث بيئة بايثون المحلية، بدون إعادة بناء صورة Docker | نعم | لا |
| تحديث البرنامج النصي لتسجيل النقاط | نعم | نعم |
| تحديث تكوينات النشر (النشر، البيئة، التعليمات البرمجية، الطراز) | لا | نعم |
| تكامل مصحح الأخطاء مقابل التعليمات البرمجية | نعم | نعم |
المتطلبات الأساسية
يفترض هذا الدليل أن لديك العناصر التالية مثبتة محليا على جهاز الكمبيوتر الخاص بك.
لمزيد من المعلومات، راجع الدليل حول كيفية إعداد النظام لنشر نقاط النهاية المدارة عبر الإنترنت.
تستند الأمثلة الواردة في هذه المقالة إلى نماذج التعليمات البرمجية الموجودة في مستودع أمثلة azureml . لتشغيل الأوامر محليا دون الحاجة إلى نسخ / لصق YAML والملفات الأخرى ، قم باستنساخ الريبو ثم قم بتغيير الدلائل إلى cli الدليل في الريبو:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples
cd cli
إذا لم تكن قد قمت بالفعل بتعيين الإعدادات الافتراضية ل Azure CLI، فاحفظ إعداداتك الافتراضية. لتجنب تمرير قيم الاشتراك ومساحة العمل ومجموعة الموارد عدة مرات، استخدم الأوامر التالية. استبدل المعلمات التالية بقيم للتكوين المحدد الخاص بك:
- استبدل
<subscription>بمعرف اشتراك Azure الخاص بك. - استبدل
<workspace>باسم مساحة عمل Azure التعلم الآلي. - استبدل
<resource-group>بمجموعة موارد Azure التي تحتوي على مساحة العمل الخاصة بك. - استبدل
<location>بمنطقة Azure التي تحتوي على مساحة العمل الخاصة بك.
تلميح
يمكنك معرفة الإعدادات الافتراضية الحالية باستخدام الأمر az configure -l .
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
إطلاق حاوية التطوير
تستخدم نقاط النهاية المحلية ل Azure التعلم الآلي حاويات تطوير Docker وVS Code (حاوية dev) لإنشاء بيئة تصحيح أخطاء محلية وتكوينها. باستخدام حاويات التطوير ، يمكنك الاستفادة من ميزات VS Code من داخل حاوية Docker. لمزيد من المعلومات حول حاويات التطوير، راجع إنشاء حاوية تطوير.
لتصحيح أخطاء نقاط النهاية عبر الإنترنت محليا في VS Code، استخدم العلامة عند الإنشاء --vscode-debug أو التحديث وAzure التعلم الآلي النشر عبر الإنترنت. يستخدم الأمر التالي مثال نشر من أمثلة repo:
az ml online-deployment create --file endpoints/online/managed/sample/blue-deployment.yml --local --vscode-debug
هام
في نظام Windows الفرعي لـ Linux (WSL)، ستحتاج إلى تحديث متغير بيئة PATH لتضمين المسار إلى VS Code القابل للتنفيذ أو استخدام WSL interop. لمزيد من المعلومات، راجع Windows التشغيل البيني مع Linux.
تم إنشاء صورة Docker محليا. يتم عرض أي أخطاء في تكوين البيئة أو ملف النموذج في هذه المرحلة من العملية.
ملاحظة
في المرة الأولى التي تقوم فيها بتشغيل حاوية مطورين جديدة أو محدثة ، قد يستغرق الأمر عدة دقائق.
بمجرد إنشاء الصورة بنجاح ، يتم فتح حاوية dev الخاصة بك في نافذة VS Code.
ستستخدم بعض ملحقات VS Code لتصحيح أخطاء عمليات النشر في حاوية المطورين. يقوم Azure التعلم الآلي تلقائيا بتثبيت هذه الإضافات في حاوية dev الخاصة بك.
هام
قبل بدء جلسة عمل تصحيح الأخطاء، تأكد من انتهاء تثبيت ملحقات VS Code في حاوية التطوير.
بدء جلسة تصحيح الأخطاء
بمجرد إعداد بيئتك، استخدم مصحح أخطاء VS Code لاختبار النشر وتصحيحه محليا.
افتح البرنامج النصي لتسجيل النقاط في التعليمات البرمجية Visual Studio.
تلميح
يوجد البرنامج النصي score.py المستخدم بواسطة نقطة النهاية التي تم نشرها مسبقا في
azureml-samples/cli/endpoints/online/managed/sample/score.pyالمستودع الذي قمت باستنساخه. ومع ذلك، تعمل الخطوات الواردة في هذا الدليل مع أي برنامج نصي لتسجيل النقاط.قم بتعيين نقطة توقف في أي مكان في البرنامج النصي لتسجيل النقاط.
- لتصحيح سلوك بدء التشغيل، ضع نقطة (نقاط) التوقف داخل الدالة
init. - لتصحيح سلوك تسجيل النقاط، ضع نقطة (نقاط) التوقف داخل الدالة
run.
- لتصحيح سلوك بدء التشغيل، ضع نقطة (نقاط) التوقف داخل الدالة
حدد طريقة العرض VS Code Run.
في القائمة المنسدلة تشغيل وتصحيح، حدد Azure ML: تصحيح أخطاء نقطة النهاية المحلية لبدء تصحيح أخطاء نقطة النهاية محليا.
في القسم نقاط التوقف من طريقة العرض تشغيل، تحقق مما يلي:
- الاستثناءات التي تم رفعهاغير محددة
- يتم التحقق من الاستثناءات التي لم يتم اكتشافها
حدد أيقونة التشغيل بجوار القائمة المنسدلة تشغيل وتصحيح الأخطاء لبدء جلسة تصحيح الأخطاء.
عند هذه النقطة، يتم القبض على أي نقاط توقف في وظيفتك
init. استخدم إجراءات تصحيح الأخطاء لتصفح التعليمات البرمجية الخاصة بك. لمزيد من المعلومات حول إجراءات تصحيح الأخطاء، راجع دليل إجراءات تصحيح الأخطاء.
لمزيد من المعلومات حول مصحح أخطاء VS Code، راجع تصحيح الأخطاء في VS Code
تصحيح أخطاء نقطة النهاية
الآن بعد تشغيل التطبيق الخاص بك في مصحح الأخطاء ، حاول إجراء تنبؤ لتصحيح البرنامج النصي لتسجيل النقاط.
استخدم أمر الإضافة mlinvoke لتقديم طلب إلى نقطة النهاية المحلية.
az ml online-endpoint invoke --name <ENDPOINT-NAME> --request-file <REQUEST-FILE> --local
في هذه الحالة، <REQUEST-FILE> هو ملف JSON يحتوي على عينات بيانات الإدخال للنموذج لإجراء تنبؤات على غرار JSON التالية:
{"data": [
[1,2,3,4,5,6,7,8,9,10],
[10,9,8,7,6,5,4,3,2,1]
]}
تلميح
عنوان URI الذي يسجل النقاط هو العنوان الذي تستمع إليه نقطة النهاية الخاصة بك للطلبات. استخدم الإضافة ml للحصول على عنوان URI للتسجيل.
az ml online-endpoint show --name <ENDPOINT-NAME> --local
يجب أن يبدو الإخراج مشابهًا لما يلي:
{
"auth_mode": "aml_token",
"location": "local",
"name": "my-new-endpoint",
"properties": {},
"provisioning_state": "Succeeded",
"scoring_uri": "http://localhost:5001/score",
"tags": {},
"traffic": {},
"type": "online"
}
يمكن العثور على URI المسجل في scoring_uri مكان الإقامة.
عند هذه النقطة، يتم القبض على أي نقاط توقف في وظيفتك run . استخدم إجراءات تصحيح الأخطاء لتصفح التعليمات البرمجية الخاصة بك. لمزيد من المعلومات حول إجراءات تصحيح الأخطاء، راجع دليل إجراءات تصحيح الأخطاء.
تعديل نقطة النهاية
أثناء تصحيح أخطاء التطبيق واستكشاف الأخطاء وإصلاحها، هناك سيناريوهات تحتاج فيها إلى تحديث البرنامج النصي وتكوينات تسجيل النقاط.
لتطبيق التغييرات على التعليمات البرمجية:
- تحديث التعليمات البرمجية
- أعد تشغيل جلسة عمل تصحيح الأخطاء باستخدام
Developer: Reload Windowالأمر الموجود في لوحة الأوامر. لمزيد من المعلومات، راجع وثائق لوحة الأوامر.
ملاحظة
نظرا لأن الدليل الذي يحتوي على أصول التعليمات البرمجية ونقطة النهاية مثبتة على حاوية المطورين، تتم مزامنة أي تغييرات تجريها في حاوية التطوير مع نظام الملفات المحلي.
لمزيد من التغييرات الشاملة التي تتضمن تحديثات لبيئتك وتكوين نقطة النهاية، استخدم الأمر الملحق mlupdate . سيؤدي القيام بذلك إلى إعادة إنشاء صورة كاملة مع تغييراتك.
az ml online-deployment update --file <DEPLOYMENT-YAML-SPECIFICATION-FILE> --local --vscode-debug
بمجرد إنشاء الصورة المحدثة وتشغيل حاوية التطوير الخاصة بك، استخدم مصحح أخطاء VS Code لاختبار نقطة النهاية المحدثة واستكشاف الأخطاء وإصلاحها.