Command الفصل

الفئة الأساسية لعقدة الأوامر، المستخدمة لاستهلاك إصدار مكون الأمر.

يجب عدم إنشاء مثيل لهذه الفئة مباشرة. بدلا من ذلك، يجب عليك إنشاؤه باستخدام الدالة builder: command().

توريث
azure.ai.ml.entities._builders.base_node.BaseNode
Command
azure.ai.ml.entities._job.pipeline._io.mixin.NodeWithGroupInputMixin
Command

الدالمنشئ

Command(*, component: str | CommandComponent, compute: str | None = None, inputs: Dict[str, Input | str | bool | int | float | Enum] | None = None, outputs: Dict[str, str | Output] | None = None, limits: CommandJobLimits | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, distribution: Dict | MpiDistribution | TensorFlowDistribution | PyTorchDistribution | RayDistribution | None = None, environment: Environment | str | None = None, environment_variables: Dict | None = None, resources: JobResourceConfiguration | None = None, services: Dict[str, JobService | JupyterLabJobService | SshJobService | TensorBoardJobService | VsCodeJobService] | None = None, queue_settings: QueueSettings | None = None, **kwargs)

المعلمات

component
Union[str, CommandComponent]

معرف أو مثيل مكون الأمر أو الوظيفة التي سيتم تشغيلها للخطوة.

compute
Optional[str]

هدف الحساب الذي سيتم تشغيل المهمة عليه.

inputs
Optional[dict[str, Union[ Input, str, bool, int, float, <xref:Enum>]]]

تعيين أسماء الإدخال لإدخال مصادر البيانات المستخدمة في الوظيفة.

outputs
Optional[dict[str, Union[str, Output]]]

تعيين أسماء الإخراج إلى مصادر بيانات الإخراج المستخدمة في الوظيفة.

limits
CommandJobLimits

حدود مكون الأمر أو الوظيفة.

identity
Optional[Union[ dict[str, str], ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]

الهوية التي ستستخدمها مهمة الأمر أثناء التشغيل على الحساب.

distribution
Optional[Union[dict, PyTorchDistribution, MpiDistribution, TensorFlowDistribution, RayDistribution]]

تكوين الوظائف الموزعة.

environment
Optional[Union[str, Environment]]

البيئة التي سيتم تشغيل الوظيفة فيها.

environment_variables
Optional[dict[str, str]]

قاموس لأسماء وقيم متغيرات البيئة. يتم تعيين متغيرات البيئة هذه على العملية التي يتم فيها تنفيذ البرنامج النصي للمستخدم.

resources
Optional[JobResourceConfiguration]

تكوين مورد الحساب للأمر .

services
Optional[dict[str, Union[JobService, JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService]]]

الخدمات التفاعلية للعقدة. هذه معلمة تجريبية، وقد تتغير في أي وقت. يرجى مراجعة https://aka.ms/azuremlexperimental لمزيد من المعلومات.

queue_settings
Optional[QueueSettings]

إعدادات قائمة الانتظار للوظيفة.

الأساليب

clear
copy
dump

تفريغ محتوى المهمة في ملف بتنسيق YAML.

fromkeys

أنشئ قاموسا جديدا بمفاتيح من قابلة للتكدير وقيم معينة إلى قيمة.

get

إرجاع قيمة المفتاح إذا كان المفتاح في القاموس، وإلا افتراضيا.

items
keys
pop

إذا لم يتم العثور على المفتاح، فسترجع الإعداد الافتراضي إذا تم تعيينه؛ وإلا، قم برفع KeyError.

popitem

قم بإزالة وإرجاع زوج (مفتاح، قيمة) كمجموعتين.

يتم إرجاع الأزواج بترتيب LIFO (آخر مرة، خروج أول). رفع KeyError إذا كانت الإملاء فارغة.

set_limits

تعيين حدود للأمر.

set_queue_settings

تعيين QueueSettings للوظيفة.

set_resources

تعيين الموارد ل Command.

setdefault

إدراج مفتاح بقيمة افتراضية إذا لم يكن المفتاح في القاموس.

إرجاع قيمة المفتاح إذا كان المفتاح في القاموس، وإلا افتراضيا.

sweep

يحول الأمر إلى عقدة مسح مع إعداد تشغيل مسح إضافي. سيتم استخدام مكون الأمر في عقدة الأمر الحالية كمكون تجريبي له. يمكن أن تجتاح عقدة الأوامر عدة مرات، وستشارك عقدة المسح التي تم إنشاؤها نفس المكون التجريبي.

update

إذا كان E موجودا ولديه أسلوب .keys()، فإن له: ل k في E: D[k] = E[k] إذا كان E موجودا ويفتقر إلى أسلوب .keys()، فإن يفعل: ل k، v في E: D[k] = v في كلتا الحالتين، يتبع ذلك: ل k في F: D[k] = F[k]

values

clear

clear() -> None.  Remove all items from D.

copy

copy() -> a shallow copy of D

dump

تفريغ محتوى المهمة في ملف بتنسيق YAML.

dump(dest: str | PathLike | IO, **kwargs) -> None

المعلمات

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
مطلوب

المسار المحلي أو دفق الملف لكتابة محتوى YAML إليه. إذا كان dest مسار ملف، فسيتم إنشاء ملف جديد. إذا كان dest ملفا مفتوحا، فستتم كتابة الملف مباشرة.

kwargs
dict

وسيطات إضافية لتمريرها إلى مسلسل YAML.

استثناءات

يرفع إذا كان dest هو مسار ملف والملف موجود بالفعل.

يرفع إذا كان dest ملفا مفتوحا وكان الملف غير قابل للكتابة.

fromkeys

أنشئ قاموسا جديدا بمفاتيح من قابلة للتكدير وقيم معينة إلى قيمة.

fromkeys(value=None, /)

المعلمات

type
مطلوب
iterable
مطلوب
value
القيمة الافتراضية: None

get

إرجاع قيمة المفتاح إذا كان المفتاح في القاموس، وإلا افتراضيا.

get(key, default=None, /)

المعلمات

key
مطلوب
default
القيمة الافتراضية: None

items

items() -> a set-like object providing a view on D's items

keys

keys() -> a set-like object providing a view on D's keys

pop

إذا لم يتم العثور على المفتاح، فسترجع الإعداد الافتراضي إذا تم تعيينه؛ وإلا، قم برفع KeyError.

pop(k, [d]) -> v, remove specified key and return the corresponding value.

popitem

قم بإزالة وإرجاع زوج (مفتاح، قيمة) كمجموعتين.

يتم إرجاع الأزواج بترتيب LIFO (آخر مرة، خروج أول). رفع KeyError إذا كانت الإملاء فارغة.

popitem()

set_limits

تعيين حدود للأمر.

set_limits(*, timeout: int, **kwargs) -> None

المعلمات

timeout
int

مهلة الوظيفة بالثوان.

أمثلة

تعيين حد مهلة 10 ثوان على أمر.


   from azure.ai.ml import Input, Output, command

   command_node = command(
       environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
       command='echo "hello world"',
       distribution={"type": "Pytorch", "process_count_per_instance": 2},
       inputs={
           "training_data": Input(type="uri_folder"),
           "max_epochs": 20,
           "learning_rate": 1.8,
           "learning_rate_schedule": "time-based",
       },
       outputs={"model_output": Output(type="uri_folder")},
   )

   command_node.set_limits(timeout=10)

set_queue_settings

تعيين QueueSettings للوظيفة.

set_queue_settings(*, job_tier: str | None = None, priority: str | None = None) -> None

المعلمات

job_tier
Optional[str]

مستوى الوظيفة. القيم المقبولة هي "Spot" أو "Basic" أو "Standard" أو "Premium".

priority
Optional[str]

أولوية المهمة على الحساب. الإعدادات الافتراضية إلى "متوسط".

أمثلة

تكوين إعدادات قائمة الانتظار على أمر.


   from azure.ai.ml import Input, Output, command

   command_node = command(
       environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
       command='echo "hello world"',
       distribution={"type": "Pytorch", "process_count_per_instance": 2},
       inputs={
           "training_data": Input(type="uri_folder"),
           "max_epochs": 20,
           "learning_rate": 1.8,
           "learning_rate_schedule": "time-based",
       },
       outputs={"model_output": Output(type="uri_folder")},
   )

   command_node.set_queue_settings(job_tier="standard", priority="medium")

set_resources

تعيين الموارد ل Command.

set_resources(*, instance_type: str | List[str] | None = None, instance_count: int | None = None, locations: List[str] | None = None, properties: Dict | None = None, docker_args: str | None = None, shm_size: str | None = None, **kwargs) -> None

المعلمات

instance_type
Optional[Union[str, list[str]]]

نوع مثيل الحساب لتشغيل المهمة عليه. إذا لم يتم تحديدها، فسيتم تشغيل المهمة على هدف الحساب الافتراضي.

instance_count
Optional[int]

عدد المثيلات لتشغيل المهمة عليها. إذا لم يتم تحديدها، فسيتم تشغيل المهمة على مثيل واحد.

locations
Optional[list[str]]

قائمة المواقع التي سيتم تشغيل الوظيفة فيها. إذا لم يتم تحديدها، فسيتم تشغيل المهمة على هدف الحساب الافتراضي.

properties
Optional[dict]

خصائص الوظيفة.

docker_args
Optional[str]

وسيطات Docker للوظيفة.

shm_size
Optional[str]

حجم كتلة الذاكرة المشتركة لحاوية docker. يجب أن يكون هذا بتنسيق (رقم)(وحدة) حيث يجب أن يكون الرقم أكبر من 0 ويمكن أن تكون الوحدة واحدة من b(بايت) أو k(كيلوبايت) أو m(ميغابايت) أو g(غيغابايت).

أمثلة

تعيين الموارد على أمر.


   from azure.ai.ml import Input, Output, command

   command_node = command(
       environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
       command='echo "hello world"',
       distribution={"type": "Pytorch", "process_count_per_instance": 2},
       inputs={
           "training_data": Input(type="uri_folder"),
           "max_epochs": 20,
           "learning_rate": 1.8,
           "learning_rate_schedule": "time-based",
       },
       outputs={"model_output": Output(type="uri_folder")},
   )

   command_node.set_resources(
       instance_count=1,
       instance_type="STANDARD_D2_v2",
       properties={"key": "new_val"},
       shm_size="3g",
   )

setdefault

إدراج مفتاح بقيمة افتراضية إذا لم يكن المفتاح في القاموس.

إرجاع قيمة المفتاح إذا كان المفتاح في القاموس، وإلا افتراضيا.

setdefault(key, default=None, /)

المعلمات

key
مطلوب
default
القيمة الافتراضية: None

sweep

يحول الأمر إلى عقدة مسح مع إعداد تشغيل مسح إضافي. سيتم استخدام مكون الأمر في عقدة الأمر الحالية كمكون تجريبي له. يمكن أن تجتاح عقدة الأوامر عدة مرات، وستشارك عقدة المسح التي تم إنشاؤها نفس المكون التجريبي.

sweep(*, primary_metric: str, goal: str, sampling_algorithm: str = 'random', compute: str | None = None, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None, early_termination_policy: EarlyTerminationPolicy | str | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, queue_settings: QueueSettings | None = None, job_tier: str | None = None, priority: str | None = None) -> Sweep

المعلمات

primary_metric
str

المقياس الأساسي لهدف المسح - على سبيل المثال AUC (المنطقة تحت المنحنى). يجب تسجيل المقياس أثناء تشغيل المكون التجريبي.

goal
str

الهدف من هدف المسح. القيم المقبولة هي "تصغير" أو "تكبير".

sampling_algorithm
str

خوارزمية أخذ العينات لاستخدامها داخل مساحة البحث. القيم المقبولة هي "عشوائي" أو "شبكة" أو "بايزي". الإعدادات الافتراضية إلى "عشوائي".

compute
Optional[str]

الحساب الهدف لتشغيل العقدة عليه. إذا لم يتم تحديده، فسيتم استخدام حساب العقدة الحالية.

max_total_trials
Optional[int]

الحد الأقصى لعدد إجمالي الإصدارات التجريبية التي سيتم تشغيلها. ستقوم هذه القيمة بالكتابة فوق القيمة في CommandJob.limits إذا تم تحديدها.

max_concurrent_trials
Optional[int]

الحد الأقصى لعدد الإصدارات التجريبية المتزامنة لمهمة المسح.

timeout
Optional[int]

الحد الأقصى لمدة التشغيل بالثوان، وبعد ذلك سيتم إلغاء المهمة.

trial_timeout
Optional[int]

قيمة مهلة إصدار تجريبي من مهمة المسح، بالثوان.

early_termination_policy
Optional[Union[BanditPolicy, TruncationSelectionPolicy, MedianStoppingPolicy, str]]

نهج الإنهاء المبكر لعقدة المسح. القيم المقبولة هي "اللصوص" أو "median_stopping" أو "truncation_selection". الإعدادات الافتراضية إلى بلا.

identity
Optional[Union[ ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]

الهوية التي ستستخدمها الوظيفة أثناء التشغيل على الحساب.

queue_settings
Optional[QueueSettings]

إعدادات قائمة الانتظار للوظيفة.

job_tier
Optional[str]

التجريبيه مستوى الوظيفة. القيم المقبولة هي "Spot" أو "Basic" أو "Standard" أو "Premium".

priority
Optional[str]

التجريبيه أولوية الحساب. القيم المقبولة هي "منخفضة" و"متوسطة" و"عالية".

المرتجعات

عقدة كنس مع المكون من عقدة الأمر الحالية كمكون تجريبي لها.

نوع الإرجاع

أمثلة

إنشاء عقدة مسح من مهمة أمر.


   from azure.ai.ml import command

   job = command(
       inputs=dict(kernel="linear", penalty=1.0),
       compute=cpu_cluster,
       environment=f"{job_env.name}:{job_env.version}",
       code="./scripts",
       command="python scripts/train.py --kernel $kernel --penalty $penalty",
       experiment_name="sklearn-iris-flowers",
   )

   # we can reuse an existing Command Job as a function that we can apply inputs to for the sweep configurations
   from azure.ai.ml.sweep import Uniform

   job_for_sweep = job(
       kernel=Uniform(min_value=0.0005, max_value=0.005),
       penalty=Uniform(min_value=0.9, max_value=0.99),
   )

   from azure.ai.ml.sweep import BanditPolicy

   sweep_job = job_for_sweep.sweep(
       sampling_algorithm="random",
       primary_metric="best_val_acc",
       goal="Maximize",
       max_total_trials=8,
       max_concurrent_trials=4,
       early_termination_policy=BanditPolicy(slack_factor=0.15, evaluation_interval=1, delay_evaluation=10),
   )

update

إذا كان E موجودا ولديه أسلوب .keys()، فإن له: ل k في E: D[k] = E[k] إذا كان E موجودا ويفتقر إلى أسلوب .keys()، فإن يفعل: ل k، v في E: D[k] = v في كلتا الحالتين، يتبع ذلك: ل k في F: D[k] = F[k]

update([E], **F) -> None.  Update D from dict/iterable E and F.

values

values() -> an object providing a view on D's values

السمات

base_path

المسار الأساسي للمورد.

المرتجعات

المسار الأساسي للمورد.

نوع الإرجاع

str

code

التعليمات البرمجية المصدر لتشغيل المهمة.

نوع الإرجاع

command

تعيين الأمر ليتم تنفيذه.

نوع الإرجاع

component

معرف أو مثيل مكون الأمر أو الوظيفة التي سيتم تشغيلها للخطوة.

المرتجعات

معرف أو مثيل مكون الأمر أو الوظيفة التي سيتم تشغيلها للخطوة.

نوع الإرجاع

creation_context

سياق إنشاء المورد.

المرتجعات

بيانات تعريف الإنشاء للمورد.

نوع الإرجاع

distribution

تكوين مكون الأمر الموزع أو الوظيفة.

المرتجعات

تكوين الوظائف الموزعة.

نوع الإرجاع

id

معرف المورد.

المرتجعات

المعرف العمومي للمورد، معرف Azure Resource Manager (ARM).

نوع الإرجاع

identity

الهوية التي ستستخدمها الوظيفة أثناء التشغيل على الحساب.

المرتجعات

الهوية التي ستستخدمها الوظيفة أثناء التشغيل على الحساب.

نوع الإرجاع

inputs

احصل على مدخلات العنصر.

المرتجعات

قاموس يحتوي على مدخلات العنصر.

نوع الإرجاع

log_files

ملفات إخراج الوظيفة.

المرتجعات

قاموس أسماء السجلات وعناوين URL.

نوع الإرجاع

name

احصل على اسم العقدة.

المرتجعات

اسم العقدة.

نوع الإرجاع

str

outputs

الحصول على مخرجات الكائن.

المرتجعات

قاموس يحتوي على مخرجات العنصر.

نوع الإرجاع

parameters

معلمات MLFlow التي سيتم تسجيلها أثناء المهمة.

المرتجعات

معلمات MLFlow التي سيتم تسجيلها أثناء المهمة.

نوع الإرجاع

queue_settings

إعدادات قائمة الانتظار لمكون الأمر أو الوظيفة.

المرتجعات

إعدادات قائمة الانتظار لمكون الأمر أو الوظيفة.

نوع الإرجاع

resources

تكوين مورد الحساب لمكون الأمر أو الوظيفة.

نوع الإرجاع

services

الخدمات التفاعلية للعقدة.

هذه معلمة تجريبية، وقد تتغير في أي وقت. يرجى مراجعة https://aka.ms/azuremlexperimental لمزيد من المعلومات.

نوع الإرجاع

status

حالة الوظيفة.

تتضمن القيم الشائعة التي تم إرجاعها "قيد التشغيل" و"مكتمل" و"فشل". جميع القيم المحتملة هي:

  • NotStarted - هذه حالة مؤقتة تكون فيها كائنات التشغيل من جانب العميل قبل إرسال السحابة.

  • البدء - بدأ التشغيل في المعالجة في السحابة. لدى المتصل معرف تشغيل في هذه المرحلة.

  • التوفير - يتم إنشاء حساب عند الطلب لتقديم وظيفة معينة.

  • التحضير - يتم إعداد بيئة التشغيل وهي في إحدى مرحلتين:

    • بناء صورة Docker

    • إعداد بيئة conda

  • في قائمة الانتظار - يتم وضع المهمة في قائمة الانتظار على هدف الحساب. على سبيل المثال، في BatchAI، تكون المهمة في حالة قائمة الانتظار

    أثناء انتظار أن تكون جميع العقد المطلوبة جاهزة.

  • قيد التشغيل - بدأت المهمة في التشغيل على هدف الحساب.

  • إنهاء - اكتمل تنفيذ التعليمات البرمجية للمستخدم، والتشغيل في مراحل ما بعد المعالجة.

  • CancelRequested - تم طلب الإلغاء للوظيفة.

  • مكتمل - اكتمل التشغيل بنجاح. يتضمن ذلك كلا من تنفيذ التعليمات البرمجية للمستخدم وتشغيله

    مراحل ما بعد المعالجة.

  • فشل - فشل التشغيل. عادة ما توفر الخاصية Error أثناء التشغيل تفاصيل حول السبب.

  • تم الإلغاء - يتبع طلب إلغاء ويشير إلى أن التشغيل قد تم إلغاؤه بنجاح الآن.

  • NotResponding - بالنسبة إلى عمليات التشغيل التي تم تمكين Heartbeats فيها، لم يتم إرسال رسالة كشف أخطاء الاتصال مؤخرا.

المرتجعات

حالة الوظيفة.

نوع الإرجاع

studio_url

نقطة نهاية استوديو التعلم الآلي من Microsoft Azure.

المرتجعات

عنوان URL لصفحة تفاصيل الوظيفة.

نوع الإرجاع

type

نوع الوظيفة.

المرتجعات

نوع الوظيفة.

نوع الإرجاع