مخطط YAML لوظيفة البنية الأساسية لبرنامج ربط العمليات التجارية CLI (الإصدار 2)

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

يمكنك العثور على مخطط JSON المصدر في https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json.

إشعار

يعتمد بناء YAML المفصل في هذا المستند على مخطط JSON لأحدث إصدار من ملحق الإصدار الثاني من واجهة مستوى الاستدعاء للتعليم الآلي. إن هذا البناء مضمون للعمل فقط مع أحدث إصدار من ملحق الإصدار الثاني من واجهة مستوى الاستدعاء للتعليم الآلي. بإمكانك العثور على مخططات إصدارات الملحق الأقدم في https://azuremlschemasprod.azureedge.net/.

بناء YAML

المفتاح النوع الوصف القيم المسموح بها القيمة الافتراضية
$schema سلسلة مخطط YAML. إذا كنت تستخدم ملحق Azure التعلم الآلي VS Code لتأليف ملف YAML، يمكنك استدعاء إكمال المخطط والموارد إذا قمت بتضمين $schema في أعلى الملف.
type مؤهل const مطلوب. نوع الوظيفة. pipeline
name سلسلة اسم الوظيفة. يجب أن يكون فريداً في جميع الوظائف في مساحة العمل. إذا تم حذفه، سيقوم Azure التعلم الآلي بإنشاء GUID للاسم تلقائيا.
display_name سلسلة عرض اسم الوظيفة في الأستوديو UI. يمكن أن تكون غير فريدة داخل مساحة العمل. إذا تم حذفه، يقوم Azure التعلم الآلي تلقائيا بإنشاء معرف صفة-اسم قابل للقراءة للإنسان لاسم العرض.
experiment_name سلسلة تنظيم المهمة تحت اسم التجربة. يتم تنظيم سجل التشغيل لكل وظيفة ضمن التجربة المقابلة في علامة التبويب "التجارب" في الاستوديو. إذا تم حذفها، فإن Azure التعلم الآلي افتراضيا experiment_name إلى اسم دليل العمل حيث تم إنشاء المهمة.
tags كائن قاموس العلامات للمهمة.
settings كائن الإعدادات الافتراضية لوظيفة خط البنية الأساسية لبرنامج ربط العمليات التجارية. تفضل بزيارة سمات settings المفتاح لمجموعة الخصائص القابلة للتكوين.
jobs كائن مطلوب. قاموس لمجموعة الوظائف الفردية لتشغيلها كخطوات داخل خط البنية الأساسية لبرنامج ربط العمليات التجارية. تعتبر هذه الوظائف وظائف فرعية لوظيفة خط البنية الأساسية لبرنامج ربط العمليات التجارية الأم.

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

يمكن أن تشير مدخلات مهمة خطوة فردية في البنية الأساسية لبرنامج ربط العمليات التجارية إلى مدخلات البنية الأساسية لبرنامج ربط العمليات التجارية هذه باستخدام ${{ parent.inputs.<input_name> }} التعبير . لمزيد من المعلومات حول ربط مدخلات خطوة البنية الأساسية لبرنامج ربط العمليات التجارية بمدخلات مهمة البنية الأساسية لبرنامج ربط العمليات التجارية ذات المستوى الأعلى، تفضل بزيارة بناء جملة التعبير لربط المدخلات والمخرجات بين الخطوات في مهمة البنية الأساسية لبرنامج ربط العمليات التجارية.
inputs.<input_name> رقم أو عدد صحيح أو منطقي أو سلسلة أو عنصر قيمة حرفية (من نوع رقم، أو عدد صحيح، أو منطقي، أو سلسلة) أو عنصر يحتوي على مواصفات بيانات إدخال المهمة.
outputs كائن قاموس تكوينات الإخراج لوظيفة التدفق. المفتاح هو اسم للإخراج في سياق الوظيفة. القيمة هي تكوين الإخراج.

يمكن لمخرجات مهمة خطوة فردية في البنية الأساسية لبرنامج ربط العمليات التجارية الرجوع إلى مخرجات البنية الأساسية لبرنامج ربط العمليات التجارية هذه باستخدام ${{ parents.outputs.<output_name> }} التعبير . لمزيد من المعلومات حول ربط مخرجات خطوة البنية الأساسية لبرنامج ربط العمليات التجارية بمخرجات مهمة البنية الأساسية لبرنامج ربط العمليات التجارية ذات المستوى الأعلى، تفضل بزيارة بناء جملة التعبير لربط المدخلات والمخرجات بين الخطوات في مهمة البنية الأساسية لبرنامج ربط العمليات التجارية.
outputs.<output_name> كائن يمكنك ترك الكائن فارغا. في هذه الحالة، بشكل افتراضي، سيكون الإخراج من النوع uri_folder، وسيقوم Azure التعلم الآلي بإنشاء موقع إخراج للنظام للإخراج استنادا إلى هذا المسار المعتم: {settings.datastore}/azureml/{job-name}/{output-name}/. ستتم كتابة الملف (الملفات) إلى دليل الإخراج عبر تحميل القراءة والكتابة. لتحديد وضع إخراج مختلف، قم بتوفير كائن يحتوي على مواصفات إخراج الوظيفة.
identity كائن يستخدم الوصول إلى البيانات الهوية. يمكن أن يكون تكوين هوية المستخدم أو تكوين الهوية المدارة أو بلا. بالنسبة إلى UserIdentityConfiguration، يتم استخدام هوية المرسل للوظيفة للوصول إلى بيانات الإدخال وكتابة النتيجة إلى مجلد الإخراج. وإلا، يستخدم UserIdentityConfiguration الهوية المدارة لهدف الحساب.

سمات مفتاحsettings

المفتاح النوع الوصف القيمة الافتراضية
default_datastore سلسلة اسم مخزن البيانات المطلوب استخدامه كمخزن بيانات افتراضي لوظيفة خط البنية الأساسية لبرنامج ربط العمليات التجارية. يجب أن تكون هذه القيمة مرجعا إلى مخزن بيانات موجود في مساحة العمل، باستخدام بناء الجملة azureml:<datastore-name> . يتم تخزين أي مخرجات معرفة في outputs خاصية مهمة المسار الأصل أو مهام الخطوة الفرعية في مخزن البيانات هذا. إذا تم حذفها، يتم تخزين المخرجات في مخزن بيانات كائن ثنائي كبير الحجم لمساحة العمل.
default_compute سلسلة اسم هدف الحساب المراد استخدامه كحوسبة افتراضية لجميع الخطوات في المسار. يتجاوز الحساب المحدد على مستوى الخطوة هذا الحساب الافتراضي لتلك الخطوة المحددة. default_compute يجب أن تكون القيمة مرجعا إلى حساب موجود في مساحة العمل، باستخدام بناء الجملةazureml:<compute-name>.
continue_on_step_failure boolean يحدد هذا الإعداد ما يحدث إذا فشلت خطوة في المسار. بشكل افتراضي، سيستمر تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية حتى إذا فشلت خطوة واحدة. وهذا يعني أن أي خطوات لا تعتمد على الخطوة الفاشلة ستستمر في التنفيذ. ومع ذلك، إذا قمت بتغيير هذا الإعداد إلى False، يتوقف المسار بأكمله عن التشغيل وسيتم إلغاء أي خطوات قيد التشغيل حاليا إذا فشلت خطوة واحدة. True
force_rerun boolean ما إذا كان يجب فرض إعادة تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية بأكملها. القيمة الافتراضية هي False. وهذا يعني أنه بشكل افتراضي، يحاول المسار إعادة استخدام إخراج المهمة السابقة إذا كان يفي بمعايير إعادة الاستخدام. إذا تم تعيينها ك True، فستعيد تشغيل جميع الخطوات في المسار. False

مدخلات الوظيفة

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

- مسار محلي لملف أو مجلد مصدر البيانات، على سبيل المثال path: ./iris.csv. يتم تحميل البيانات أثناء إرسال الوظيفة.

- معرّف URI لمسار السحابة إلى الملف أو المجلد لاستخدامه كمدخل. أنواع URI المتوافقة هي azureml، https، wasbs، abfss، adl. لمزيد من المعلومات حول استخدام azureml:// تنسيق URI، تفضل بزيارة بناء جملة Yaml الأساسي.

- أصل بيانات Azure التعلم الآلي مسجل موجود لاستخدامه كمدخل. للإشارة إلى أصل بيانات مسجل، استخدم بناء الجملة azureml:<data_name>:<data_version> أو azureml:<data_name>@latest (للإشارة إلى أحدث إصدار من أصل البيانات هذا)، على سبيل المثال path: azureml:cifar10-data:1 أو path: azureml:cifar10-data@latest.
mode سلسلة طريقة كيفية تسليم البيانات إلى هدف الحساب.

بالنسبة للقراءة فقط (ro_mount)، سيتم استهلاك البيانات كمسار تحميل. يتم تحميل مجلد كمجلد ويتم تحميل ملف كملف. يحل Azure التعلم الآلي الإدخال إلى مسار التحميل.

بالنسبة إلى download الوضع، يتم تنزيل البيانات إلى هدف الحساب. يحل Azure التعلم الآلي الإدخال إلى المسار الذي تم تنزيله.

بالنسبة إلى عنوان URL لموقع تخزين البيانات الاصطناعية أو البيانات الاصطناعية فقط، بدلا من تحميل البيانات نفسها أو تنزيلها، استخدم direct الوضع . يمرر هذا في عنوان URL لموقع التخزين كإدخل للوظيفة. في هذه الحالة، أنت مسؤول مسؤولية كاملة عن التعامل مع بيانات الاعتماد للوصول إلى التخزين.
ro_mount، ، downloaddirect ro_mount

مخرجات المهمة

المفتاح النوع الوصف القيم المسموح بها القيمة الافتراضية
type سلسلة نوع إخراج الوظيفة. بالنسبة للنوع الافتراضي uri_folder ، يتوافق الإخراج مع مجلد. uri_file، ، uri_folder، mltablemlflow_model uri_folder
mode سلسلة وضع تسليم ملف الإخراج أو الملفات إلى التخزين الوجهة. بالنسبة لوضع تحميل القراءة والكتابة (rw_mount)، سيكون دليل الإخراج دليلا مثبتا. بالنسبة لوضع التحميل، يتم تحميل الملف (الملفات) المكتوبة في نهاية المهمة. rw_mount, upload rw_mount

تكوينات الهوية

تكوين معرف المستخدم

المفتاح النوع الوصف القيم المسموح بها
type مؤهل const مطلوب. نوع الهوية. user_identity

تكوين الهوية المدارة

المفتاح النوع الوصف القيم المسموح بها
type مؤهل const مطلوب. نوع الهوية. managed أو managed_identity

الملاحظات

يمكنك استخدام az ml job الأمر لإدارة وظائف Azure التعلم الآلي.

الأمثلة

تفضل بزيارة أمثلة مستودع GitHub للحصول على أمثلة. يتم عرض العديد منها هنا:

YAML: hello pipeline

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline
jobs:
  hello_job:
    command: echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
  world_job:
    command: echo "world"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster

YAML: تبعية الإدخال/ الإخراج

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_io
jobs:
  hello_job:
    command: echo "hello" && echo "world" > ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
    outputs:
      world_output:
  world_job:
    command: cat ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
    inputs:
      world_input: ${{parent.jobs.hello_job.outputs.world_output}}

YAML: إعدادات وظائف خط البنية الأساسية لبرنامج ربط العمليات التجارية الشائعة

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_settings

settings:
  default_datastore: azureml:workspaceblobstore
  default_compute: azureml:cpu-cluster
jobs:
  hello_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
  world_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest

YAML: مدخلات المستوى الأعلى وتجاوز إعدادات وظيفة خط البنية الأساسية لبرنامج ربط العمليات التجارية الشائعة

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_abc
settings:
    default_compute: azureml:cpu-cluster
  
inputs:
  hello_string_top_level_input: "hello world"
jobs:
  a:
    command: echo hello ${{inputs.hello_string}}
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    inputs:
      hello_string: ${{parent.inputs.hello_string_top_level_input}}
  b:
    command: echo "world" >> ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    outputs:
      world_output:
  c:
    command: echo ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    inputs:
      world_input: ${{parent.jobs.b.outputs.world_output}}

الخطوات التالية