JobOperations 類別

起始 JobOperations 的實例

此類別不應該直接具現化。 請改用 MLClient 物件的 jobs 屬性。

繼承
azure.ai.ml._scope_dependent_operations._ScopeDependentOperations
JobOperations

建構函式

JobOperations(operation_scope: OperationScope, operation_config: OperationConfig, service_client_02_2023_preview: AzureMachineLearningWorkspaces, all_operations: OperationsContainer, credential: TokenCredential, **kwargs: Any)

參數

operation_scope
<xref:azure.ai.ml._scope_dependent_operations.OperationScope>
必要

MLClient 物件的作業類別範圍變數。

operation_config
<xref:azure.ai.ml._scope_dependent_operations.OperationConfig>
必要

MLClient 物件的作業類別的常見組態。

service_client_02_2023_preview
<xref:azure.ai.ml._restclient.v2023_02_01_preview.AzureMachineLearningWorkspaces>
必要

服務用戶端,可讓使用者在 Azure Machine Learning 工作區資源上操作。

all_operations
<xref:azure.ai.ml._scope_dependent_operations.OperationsContainer>
必要

MLClient 物件的所有作業類別。

credential
TokenCredential
必要

要用於驗證的認證。

方法

archive

封存作業。

begin_cancel

取消作業。

create_or_update

建立或更新作業。 如果內嵌定義環境或程式碼等實體,則會與作業一起建立。

download

下載作業的記錄和輸出。

get

取得作業資源。

list

列出工作區中的作業。

restore

還原封存的工作。

show_services

取得與作業節點相關聯的服務。

stream

串流執行中作業的記錄。

validate

注意

這是實驗性方法,隨時可能會變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。

在提交至服務之前,先驗證 Job 物件。 如果有內嵌定義的實體,例如元件、環境和程式碼,可能會建立匿名資產。 目前僅支援管線作業進行驗證。

archive

封存作業。

archive(name: str) -> None

參數

name
str
必要

作業的名稱。

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

封存作業。


   ml_client.jobs.archive(name=job_name)

begin_cancel

取消作業。

begin_cancel(name: str, **kwargs) -> LROPoller[None]

參數

name
str
必要

作業的名稱。

傳回

用來追蹤作業狀態的輪詢器。

傳回類型

例外狀況

如果找不到具有指定名稱的作業,則引發 。

create_or_update

建立或更新作業。 如果內嵌定義環境或程式碼等實體,則會與作業一起建立。

create_or_update(job: Job, *, description: str | None = None, compute: str | None = None, tags: dict | None = None, experiment_name: str | None = None, skip_validation: bool = False, **kwargs) -> Job

參數

job
Job
必要

工作物件。

description
Optional[str]

作業描述。

compute
Optional[str]

作業的計算目標。

tags
Optional[dict]

作業的標記。

experiment_name
Optional[str]

將建立作業的實驗名稱。 如果未提供 None,則會在實驗 'Default' 底下建立作業。

skip_validation
bool

指定建立或更新作業之前,是否要略過驗證。 請注意,將不會略過匿名元件等相依資源的驗證。 預設為 False。

傳回

已建立或更新的作業。

傳回類型

Job

例外狀況

Union

如果無法成功驗證 Job,則引發 。 錯誤訊息中將會提供詳細資料。

如果無法成功驗證作業資產 (例如資料、程式碼、模型、環境) ,則引發。 錯誤訊息中將會提供詳細資料。

如果無法成功驗證作業模型,就會引發 。 錯誤訊息中將會提供詳細資料。

如果 Job 物件或屬性已正確格式化,則會引發 。 錯誤訊息中將會提供詳細資料。

如果提供的本機路徑指向空目錄,則會引發 。

如果 Docker 引擎不適用於本機作業,則引發。

範例

建立新的作業,然後更新其計算。


   from azure.ai.ml import load_job

   created_job = ml_client.jobs.create_or_update(
       name=job_name,
       job=load_job(
           "./sdk/ml/azure-ai-ml/tests/test_configs/command_job/command_job_test_local_env.yml",
           params_override=[{"name": job_name}, {"compute": "cpucluster"}],
       ),
   )

download

下載作業的記錄和輸出。

download(name: str, *, download_path: PathLike | str = '.', output_name: str | None = None, all: bool = False) -> None

參數

name
str
必要

工作的名稱。

download_path
Union[<xref:PathLike>, str]

要作為下載目的地的本機路徑。 預設值為 「.」。

output_name
Optional[str]

要下載的輸出名稱。 預設值為 [無]。

all
bool

指定是否應該下載所有記錄和具名輸出。 預設為 False。

例外狀況

如果 Job 尚未處於終端機狀態,則引發。 錯誤訊息中將會提供詳細資料。

如果無法成功下載記錄和輸出,就會引發 。 錯誤訊息中將會提供詳細資料。

範例

將作業 「job-1」 的所有記錄和具名輸出下載到本機目錄 「job-1-logs」。


   ml_client.jobs.download(name=job_name, download_path="./job-1-logs", all=True)

get

取得作業資源。

get(name: str) -> Job

參數

name
str
必要

作業的名稱。

傳回

從服務擷取的工作物件。

傳回類型

Job

例外狀況

如果找不到具有指定名稱的作業,則引發 。

如果 name 參數不是字串,則會引發 。

範例

擷取名為 「iris-dataset-job-1」 的作業。


   retrieved_job = ml_client.jobs.get(job_name)

list

列出工作區中的作業。

list(*, parent_job_name: str | None = None, list_view_type: ListViewType = ListViewType.ACTIVE_ONLY, **kwargs) -> Iterable[Job]

參數

parent_job_name
Optional[str]

提供時,只會傳回具名作業子系的作業。 預設為 [無],列出工作區中的所有作業。

list_view_type
ListViewType

包含/排除封存工作的檢視類型。 預設為 ~azure.mgt.machinelearningservices.models.ListViewType.ACTIVE_ONLY,不包括封存的作業。

傳回

類似 Iterator 的 Job 物件實例。

傳回類型

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

擷取工作區中封存作業的清單,其中具有名為 「iris-dataset-jobs」 的父作業。


   from azure.ai.ml._restclient.v2023_04_01_preview.models import ListViewType

   list_of_jobs = ml_client.jobs.list(parent_job_name=job_name, list_view_type=ListViewType.ARCHIVED_ONLY)

restore

還原封存的工作。

restore(name: str) -> None

參數

name
str
必要

作業的名稱。

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

還原封存的工作。


   ml_client.jobs.restore(name=job_name)

show_services

取得與作業節點相關聯的服務。

show_services(name: str, node_index: int = 0) -> Dict[str, ServiceInstance]

參數

name
str
必要

作業的名稱。

node_index
int
必要

節點的索引 (以零起始的) 。 預設為 0。

傳回

與指定節點之作業相關聯的服務。

傳回類型

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

擷取與作業第 1 個節點相關聯的服務。


   job_services = ml_client.jobs.show_services(job_name)

stream

串流執行中作業的記錄。

stream(name: str) -> None

參數

name
str
必要

作業的名稱。

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

串流執行中的作業。


   running_job = ml_client.jobs.create_or_update(
       load_job(
           "./sdk/ml/azure-ai-ml/tests/test_configs/command_job/command_job_test_local_env.yml",
           params_override=[{"name": job_name}, {"compute": "cpucluster"}],
       )
   )
   ml_client.jobs.stream(running_job.name)

validate

注意

這是實驗性方法,隨時可能會變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。

在提交至服務之前,先驗證 Job 物件。 如果有內嵌定義的實體,例如元件、環境和程式碼,可能會建立匿名資產。 目前僅支援管線作業進行驗證。

validate(job: Job, *, raise_on_failure: bool = False, **kwargs) -> ValidationResult

參數

job
Job
必要

要驗證的工作物件。

raise_on_failure
bool

指定驗證失敗時是否應該引發錯誤。 預設為 False。

傳回

ValidationResult 物件,包含所有找到的錯誤。

傳回類型

例外狀況

如果找不到具有指定名稱的作業,則引發 。

範例

驗證 PipelineJob 物件,並列印出找到的錯誤。


   from azure.ai.ml import load_job
   from azure.ai.ml.entities import PipelineJob

   pipeline_job: PipelineJob = load_job(
       "./sdk/ml/azure-ai-ml/tests/test_configs/pipeline_jobs/invalid/combo.yml",
       params_override=[{"name": job_name}, {"compute": "cpucluster"}],
   )
   print(ml_client.jobs.validate(pipeline_job).error_messages)