AmlCompute 클래스
Azure Machine Learning에서 Azure Machine Learning 컴퓨팅을 관리합니다.
Azure Machine Learning 컴퓨팅(AmlCompute)은 단일 또는 다중 노드 컴퓨팅을 쉽게 만들 수 있는 관리형 컴퓨팅 인프라입니다. 컴퓨팅은 다른 사용자와 공유할 수 있는 리소스로 작업 영역 내에서 만들어집니다. 자세한 내용은 Azure Machine Learning의 컴퓨팅 대상을 참조하세요.
클래스 ComputeTarget 생성자입니다.
제공된 작업 영역과 연결된 Compute 개체의 클라우드 표현을 검색합니다. 검색된 Compute 개체의 특정 형식에 해당하는 자식 클래스의 인스턴스를 반환합니다.
생성자
AmlCompute(workspace, name)
매개 변수
Name | Description |
---|---|
workspace
필수
|
검색할 AmlCompute 개체를 포함하는 작업 영역 개체입니다. |
name
필수
|
검색할 AmlCompute 개체의 이름입니다. |
workspace
필수
|
검색할 Compute 개체를 포함하는 작업 영역 개체입니다. |
name
필수
|
검색할 Compute 개체의 이름입니다. |
설명
다음 예제에서는 프로비전된 AmlCompute 영구 컴퓨팅 대상이 만들어집니다.
provisioning_configuration
이 예제의 매개 변수는 자식 클래스인 형식AmlComputeProvisioningConfiguration입니다ComputeTargetProvisioningConfiguration.
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your CPU cluster
cpu_cluster_name = "cpu-cluster"
# Verify that cluster does not exist already
try:
cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
print('Found existing cluster, use it.')
except ComputeTargetException:
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
max_nodes=4)
cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
cpu_cluster.wait_for_completion(show_output=True)
전체 샘플은 다음에서 사용할 수 있습니다. https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb
메서드
add_identity |
이 AmlCompute 대상에 대한 ID 유형 및/또는 ID ID를 추가합니다. |
delete |
연결된 작업 영역에서 AmlCompute 개체를 제거합니다. |
deserialize |
JSON 개체를 AmlCompute 개체로 변환합니다. |
detach |
AmlCompute 개체에는 분리가 지원되지 않습니다. delete를 대신 사용하세요. |
get |
컴퓨팅 개체를 반환합니다. |
get_active_runs |
이 컴퓨팅에 대한 실행 생성기를 반환합니다. |
get_status |
AmlCompute 클러스터에 대한 현재 세부 상태를 검색합니다. |
list_nodes |
컴퓨팅 대상에 있는 모든 컴퓨팅 노드의 세부 정보(예: IP 주소, 포트 등)를 가져옵니다. |
list_quotas |
지정된 작업 영역 및 구독에 대해 VMFamily를 기반으로 현재 할당된 작업 영역 할당량을 가져옵니다. |
list_usages |
지정된 작업 영역 및 구독에 대한 AML 리소스에 대한 제한뿐만 아니라 현재 사용량 정보를 가져옵니다. |
provisioning_configuration |
AmlCompute 대상을 프로비전하기 위한 구성 개체를 만듭니다. |
refresh_state |
개체의 속성에 대한 현재 위치 업데이트를 수행합니다. 이 메서드는 해당 클라우드 개체의 현재 상태에 따라 속성을 업데이트합니다. 이는 주로 컴퓨팅 상태의 수동 폴링에 사용됩니다. |
remove_identity |
컴퓨팅에서 ID를 제거합니다. |
serialize |
이 AmlCompute 개체를 JSON 직렬화된 사전으로 변환합니다. |
supported_vmsizes |
지역에서 지원되는 VM 크기를 나열합니다. |
update |
ScaleSettings 이 AmlCompute 대상을 업데이트합니다. |
update_quotas |
작업 영역에서 VM 제품군에 대한 할당량을 업데이트합니다. |
wait_for_completion |
AmlCompute 클러스터가 프로비저닝을 완료할 때까지 기다립니다. 최소 노드 수를 대기하고 설정된 기간 후에 시간 제한으로 대기하도록 구성할 수 있습니다. |
add_identity
이 AmlCompute 대상에 대한 ID 유형 및/또는 ID ID를 추가합니다.
add_identity(identity_type, identity_id=None)
매개 변수
Name | Description |
---|---|
identity_type
필수
|
가능한 값은 다음과 같습니다.
|
identity_id
|
사용자 할당 ID에 대한 리소스 ID 목록입니다. 예. ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/'] Default value: None
|
설명
identity_id == UserAssigned identity_type 경우에만 지정해야 합니다.
delete
연결된 작업 영역에서 AmlCompute 개체를 제거합니다.
delete()
예외
형식 | Description |
---|---|
설명
이 개체가 Azure Machine Learning을 통해 만들어진 경우 해당 클라우드 기반 개체도 삭제됩니다. 이 개체가 외부에서 만들어지고 작업 영역에만 연결된 경우 이 메서드는 a를 ComputeTargetException 발생시키고 아무것도 변경되지 않습니다.
deserialize
JSON 개체를 AmlCompute 개체로 변환합니다.
static deserialize(workspace, object_dict)
매개 변수
Name | Description |
---|---|
workspace
필수
|
AmlCompute 개체가 연결된 작업 영역 개체입니다. |
object_dict
필수
|
AmlCompute 개체로 변환할 JSON 개체입니다. |
반환
형식 | Description |
---|---|
제공된 JSON 개체의 AmlCompute 표현입니다. |
예외
형식 | Description |
---|---|
설명
ComputeTargetException 제공된 작업 영역이 Compute와 연결된 작업 영역이 아닌 경우 발생합니다.
detach
get
컴퓨팅 개체를 반환합니다.
get()
get_active_runs
이 컴퓨팅에 대한 실행 생성기를 반환합니다.
get_active_runs(type=None, tags=None, properties=None, status=None)
매개 변수
Name | Description |
---|---|
type
|
반환된 실행 생성기를 제공된 형식별로 필터링합니다. 실행 형식 만들기를 참조 add_type_provider 하세요. Default value: None
|
tags
|
필터는 "tag" 또는 {"tag": "value"}로 실행됩니다. Default value: None
|
properties
|
필터 실행은 "property" 또는 {"property": "value"} Default value: None
|
status
|
실행 상태 - "실행 중" 또는 "큐에 대기 중" Default value: None
|
반환
형식 | Description |
---|---|
<xref:builtin.generator>
|
~_restclient.models.RunDto 생성기 |
get_status
AmlCompute 클러스터에 대한 현재 세부 상태를 검색합니다.
get_status()
반환
형식 | Description |
---|---|
클러스터에 대한 자세한 상태 개체 |
list_nodes
컴퓨팅 대상에 있는 모든 컴퓨팅 노드의 세부 정보(예: IP 주소, 포트 등)를 가져옵니다.
list_nodes()
반환
형식 | Description |
---|---|
컴퓨팅 대상에 있는 모든 컴퓨팅 노드의 세부 정보입니다. |
list_quotas
list_usages
지정된 작업 영역 및 구독에 대한 AML 리소스에 대한 제한뿐만 아니라 현재 사용량 정보를 가져옵니다.
static list_usages(workspace, show_all=False, ___location=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
|
show_all
|
자식 리소스의 자세한 사용이 필요한지 지정합니다. 기본값은 False입니다. Default value: False
|
___location
|
리소스의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다. Default value: None
|
반환
형식 | Description |
---|---|
AML 리소스에 대한 제한뿐만 아니라 현재 사용량 정보 목록 |
provisioning_configuration
AmlCompute 대상을 프로비전하기 위한 구성 개체를 만듭니다.
static provisioning_configuration(vm_size='', vm_priority='dedicated', min_nodes=0, max_nodes=None, idle_seconds_before_scaledown=1800, admin_username=None, admin_user_password=None, admin_user_ssh_key=None, vnet_resourcegroup_name=None, vnet_name=None, subnet_name=None, tags=None, description=None, remote_login_port_public_access='NotSpecified', identity_type=None, identity_id=None, ___location=None, enable_node_public_ip=True)
매개 변수
Name | Description |
---|---|
vm_size
필수
|
에이전트 VM의 크기입니다. 자세한 내용은 https://aka.ms/azureml-vm-details. 이전 링크에 설명된 대로 모든 지역에서 모든 크기를 사용할 수 있는 것은 아닙니다. 지정하지 않으면 기본적으로 Standard_NC6. |
vm_priority
|
VM 우선 순위, 전용 또는 낮은 우선 순위입니다. Default value: dedicated
|
min_nodes
|
클러스터에서 사용할 최소 노드 수입니다. 지정하지 않으면 기본값은 0입니다. Default value: 0
|
max_nodes
|
클러스터에서 사용할 최대 노드 수입니다. 지정하지 않으면 기본값은 4입니다. Default value: None
|
idle_seconds_before_scaledown
|
클러스터를 축소하기 전 노드 유휴 시간(초)입니다. 지정하지 않으면 기본값은 1800입니다. Default value: 1800
|
admin_username
|
노드로 SSH하는 데 사용할 수 있는 관리자 사용자 계정의 이름입니다. Default value: None
|
admin_user_password
|
관리자 사용자 계정의 암호입니다. Default value: None
|
admin_user_ssh_key
|
관리자 사용자 계정의 SSH 공개 키입니다. Default value: None
|
vnet_resourcegroup_name
|
가상 네트워크가 있는 리소스 그룹의 이름입니다. Default value: None
|
vnet_name
|
가상 네트워크의 이름입니다. Default value: None
|
subnet_name
|
VNet 내의 서브넷 이름입니다. Default value: None
|
tags
|
컴퓨팅 개체에 제공할 키 값 태그의 사전입니다. Default value: None
|
description
|
컴퓨팅 개체에 제공할 설명입니다. Default value: None
|
remote_login_port_public_access
|
공용 SSH 포트의 상태입니다. 가능한 값은 다음과 같습니다.
Default value: NotSpecified
|
identity_type
|
가능한 값은 다음과 같습니다.
Default value: None
|
identity_id
|
사용자 할당 ID에 대한 리소스 ID 목록입니다. 예. ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/'] Default value: None
|
___location
|
클러스터를 프로비전할 위치입니다. Default value: None
|
enable_node_public_ip
|
노드 공용 IP를 사용하도록 설정합니다. 가능한 값은 다음과 같습니다.
Default value: True
|
반환
형식 | Description |
---|---|
Compute 개체를 만들 때 사용할 구성 개체입니다. |
예외
형식 | Description |
---|---|
refresh_state
개체의 속성에 대한 현재 위치 업데이트를 수행합니다.
이 메서드는 해당 클라우드 개체의 현재 상태에 따라 속성을 업데이트합니다. 이는 주로 컴퓨팅 상태의 수동 폴링에 사용됩니다.
refresh_state()
remove_identity
serialize
이 AmlCompute 개체를 JSON 직렬화된 사전으로 변환합니다.
serialize()
반환
형식 | Description |
---|---|
이 AmlCompute 개체의 JSON 표현입니다. |
supported_vmsizes
update
ScaleSettings 이 AmlCompute 대상을 업데이트합니다.
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
매개 변수
Name | Description |
---|---|
min_nodes
|
클러스터에서 사용할 최소 노드 수입니다. Default value: None
|
max_nodes
|
클러스터에서 사용할 최대 노드 수입니다. Default value: None
|
idle_seconds_before_scaledown
|
클러스터를 축소하기 전의 노드 유휴 시간(초)입니다. Default value: None
|
update_quotas
작업 영역에서 VM 제품군에 대한 할당량을 업데이트합니다.
static update_quotas(workspace, vm_family, limit=None, ___location=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
|
vm_family
필수
|
VM 제품군 이름 |
limit
|
리소스의 허용되는 최대 할당량 Default value: None
|
___location
|
할당량의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다. Default value: None
|
wait_for_completion
AmlCompute 클러스터가 프로비저닝을 완료할 때까지 기다립니다.
최소 노드 수를 대기하고 설정된 기간 후에 시간 제한으로 대기하도록 구성할 수 있습니다.
wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)
매개 변수
Name | Description |
---|---|
show_output
|
자세한 출력을 제공하는 부울입니다. Default value: False
|
min_node_count
|
프로비전이 완료될 것을 고려하기 전에 대기할 최소 노드 수입니다. 컴퓨팅이 프로비전된 최소 노드 수와 같을 필요는 없습니다. 그러나 이보다 크면 안 됩니다. Default value: None
|
timeout_in_minutes
|
프로비저닝이 실패했음을 고려하기 전에 대기할 기간(분)입니다. Default value: 25
|
is_delete_operation
|
작업이 삭제를 위한 것인지 여부를 나타냅니다. Default value: False
|
예외
형식 | Description |
---|---|