AmlCompute 클래스

Azure Machine Learning에서 Azure Machine Learning 컴퓨팅을 관리합니다.

Azure Machine Learning 컴퓨팅(AmlCompute)은 사용자가 단일 또는 다중 노드 컴퓨팅을 간편하게 만들 수 있는 관리형 컴퓨팅 인프라입니다. 작업 영역 지역 내에서 컴퓨팅은 다른 사용자와 공유할 수 있는 리소스로 만들어집니다. 자세한 내용은 Azure Machine Learning의 컴퓨팅 대상이란?을 참조하세요.

클래스 ComputeTarget 생성자입니다.

제공된 작업 영역과 연결된 Compute 개체의 클라우드 표현을 검색합니다. 검색된 Compute 개체의 특정 형식에 해당하는 자식 클래스의 instance 반환합니다.

상속
AmlCompute

생성자

AmlCompute(workspace, name)

매개 변수

workspace
Workspace
필수

검색할 AmlCompute 개체가 포함된 작업 영역 개체입니다.

name
str
필수

검색할 AmlCompute 개체의 이름입니다.

workspace
Workspace
필수

검색할 Compute 개체를 포함하는 작업 영역 개체입니다.

name
str
필수

검색할 Compute 개체의 이름입니다.

설명

다음 예제에서는 AmlCompute에 의해 프로비저닝된 영구 컴퓨팅 대상이 만들어집니다. 이 예에서 provisioning_configuration 매개 변수는 ComputeTargetProvisioningConfiguration의 자식 클래스인 AmlComputeProvisioningConfiguration 형식입니다.


   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를 추가합니다.

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

이 AmlCompute 대상에 대한 ScaleSettings를 업데이트합니다.

update_quotas

작업 영역의 VM 제품군에 대한 할당량을 업데이트합니다.

wait_for_completion

AmlCompute 클러스터가 프로비저닝을 마칠 때까지 기다립니다.

이는 최소 노드 수를 기다리도록 구성할 수 있으며, 일정 시간이 지나면 시간 초과됩니다.

add_identity

이 AmlCompute 대상에 대한 ID 형식 및/또는 ID를 추가합니다.

add_identity(identity_type, identity_id=None)

매개 변수

identity_type
string
필수

가능한 값은 다음과 같습니다.

  • SystemAssigned - 시스템 할당 ID입니다.

  • UserAssigned - 사용자 할당 ID입니다. ID를 설정해야 합니다.

identity_id
list[str]
기본값: None

사용자 할당 ID의 리소스 ID 목록입니다. 예: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

설명

identity_id는 identity_type == UserAssigned일 때만 할당해야 합니다.

delete

연결된 작업 영역에서 AmlCompute 개체를 제거합니다.

delete()

예외

설명

이 개체가 Azure Machine Learning을 통해 만들어진 경우 해당 클라우드 기반 개체도 삭제됩니다. 이 개체가 외부에서 만들어지고 작업 영역에만 연결된 경우 이 메서드는 ComputeTargetException을 발생시키고 아무 것도 변경되지 않습니다.

deserialize

JSON 개체를 AmlCompute 개체로 변환합니다.

static deserialize(workspace, object_dict)

매개 변수

workspace
Workspace
필수

AmlCompute 개체가 연결된 작업 영역 개체입니다.

object_dict
dict
필수

AmlCompute 개체로 변환할 JSON 개체입니다.

반환

제공된 JSON 개체의 AmlCompute 표현입니다.

반환 형식

예외

설명

제공된 작업 영역이 Compute가 연결된 작업 영역이 아닌 경우 ComputeTargetException을 발생시킵니다.

detach

AmlCompute 개체에는 분리가 지원되지 않습니다. 대신 delete를 사용하세요.

detach()

예외

get

컴퓨팅 개체를 반환합니다.

get()

get_active_runs

이 컴퓨팅에 대한 실행 생성기를 반환합니다.

get_active_runs(type=None, tags=None, properties=None, status=None)

매개 변수

type
str
기본값: None

제공된 형식별로 반환된 실행 생성기를 필터링합니다. 실행 유형을 생성하려면 다음을 참조하세요. add_type_provider

tags
str 또는 dict
기본값: None

"tag" 또는 {"tag": "value"}로 실행을 필터링합니다.

properties
str 또는 dict
기본값: None

필터는 "property" 또는 {"property": "value"}로 실행됩니다.

status
str
기본값: None

실행 상태 - "실행 중" 또는 "대기 중"

반환

~_restclient.models.RunDto의 생성기

반환 형식

<xref:builtin.generator>

get_status

AmlCompute 클러스터에 대한 현재 세부 상태를 검색합니다.

get_status()

반환

클러스터에 대한 자세한 상태 개체

반환 형식

list_nodes

컴퓨팅 대상에 있는 모든 컴퓨팅 노드의 세부 정보(예: IP 주소, 포트 등)를 가져옵니다.

list_nodes()

반환

컴퓨팅 대상에 있는 모든 컴퓨팅 노드의 세부 정보입니다.

반환 형식

list_quotas

할당된 작업 영역 및 구독에 대해 VMFamily를 기반으로 현재 할당된 작업 영역 할당량을 가져옵니다.

static list_quotas(workspace, location=None)

매개 변수

workspace
Workspace
필수
location
str
기본값: None

할당량의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다.

반환

VMFamily를 기반으로 현재 할당된 작업 영역 할당량 목록

반환 형식

list_usages

지정된 작업 영역 및 구독에 대한 현재 사용 정보와 AML 리소스 제한을 가져옵니다.

static list_usages(workspace, show_all=False, location=None)

매개 변수

workspace
Workspace
필수
show_all
기본값: False

자식 리소스의 자세한 사용이 필요한지 여부를 지정합니다. 기본값은 False입니다.

location
str
기본값: None

리소스의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다.

반환

현재 사용 정보 및 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)

매개 변수

vm_size
str
필수

에이전트 VM의 크기입니다. 자세한 내용은 다음에서 확인할 수 있습니다. https://aka.ms/azureml-vm-details 이전 링크에 자세히 설명된 것처럼 모든 지역에서 모든 크기를 사용할 수 있는 것은 아닙니다. 지정하지 않으면 기본값은 Standard_NC6입니다.

vm_priority
str
기본값: dedicated

VM 우선 순위, 전용 또는 낮은 우선 순위.

min_nodes
int
기본값: 0

클러스터에서 사용할 최소 노드 수입니다. 지정하지 않으면 기본값은 0입니다.

max_nodes
int
기본값: None

클러스터에서 사용할 최대 노드 수입니다. 지정하지 않으면 기본값은 4입니다.

idle_seconds_before_scaledown
int
기본값: 1800

클러스터를 스케일 다운하기 전 노드 유휴 시간(초)입니다. 지정하지 않으면 기본값은 1800입니다.

admin_username
str
기본값: None

노드에 SSH로 연결하는 데 사용할 수 있는 관리자 사용자 계정의 이름입니다.

admin_user_password
str
기본값: None

관리자 사용자 계정의 암호입니다.

admin_user_ssh_key
str
기본값: None

관리자 사용자 계정의 SSH 공개 키입니다.

vnet_resourcegroup_name
str
기본값: None

가상 네트워크가 있는 리소스 그룹의 이름입니다.

vnet_name
str
기본값: None

가상 네트워크의 이름입니다.

subnet_name
str
기본값: None

VNet 내부 서브넷의 이름입니다.

tags
dict[str, str]
기본값: None

컴퓨팅 개체에 제공할 키 값 태그의 사전입니다.

description
str
기본값: None

컴퓨팅 개체에 제공할 설명입니다.

remote_login_port_public_access
str
기본값: NotSpecified

공용 SSH 포트의 상태입니다. 가능한 값은 다음과 같습니다.

  • Disabled - 클러스터의 모든 노드에서 공용 ssh 포트가 닫혀 있음을 나타냅니다.

  • Enabled - 클러스터의 모든 노드에서 공용 ssh 포트가 열려 있음을 나타냅니다.

  • NotSpecified - VNet이 정의된 경우 클러스터의 모든 노드에서 공용 ssh 포트가 닫히고 그렇지 않으면 모든 공용 노드가 열려 있음을 나타냅니다. 클러스터 만들기 시에만 이 기본값이 될 수 있습니다. 만들기 후에는 사용하도록 설정되거나 사용하지 않도록 설정됩니다.

identity_type
string
기본값: None

가능한 값은 다음과 같습니다.

  • SystemAssigned - 시스템 할당 ID입니다.

  • UserAssigned - 사용자 할당 ID입니다. ID를 설정해야 합니다.

identity_id
list[str]
기본값: None

사용자 할당 ID의 리소스 ID 목록입니다. 예: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

location
str
기본값: None

클러스터를 프로비저닝할 위치입니다.

enable_node_public_ip
bool
기본값: True

노드 공용 IP를 사용하도록 설정합니다. 가능한 값은 다음과 같습니다.

  • True - 노드 공용 IP를 사용하도록 설정합니다.

  • False - 노드 공용 IP를 사용하지 않도록 설정합니다.

  • NotSpecified - 노드 공용 IP를 사용하도록 설정합니다.

반환

Compute 개체를 만들 때 사용할 구성 개체입니다.

반환 형식

예외

refresh_state

개체 속성의 내부 업데이트를 수행합니다.

이 메서드는 해당 클라우드 개체의 현재 상태에 따라 속성을 업데이트합니다. 이는 주로 컴퓨팅 상태의 수동 폴링에 사용됩니다.

refresh_state()

remove_identity

컴퓨팅에서 ID를 제거합니다.

remove_identity(identity_id=None)

매개 변수

identity_id
list[str]
기본값: None

사용자가 할당한 ID

설명

identity_id가 할당되지 않으면 시스템 할당 ID가 자동으로 제거됩니다.

serialize

이 AmlCompute 개체를 JSON 직렬화된 사전으로 변환합니다.

serialize()

반환

이 AmlCompute 개체의 JSON 표현입니다.

반환 형식

supported_vmsizes

지역에서 지원되는 VM 크기를 나열합니다.

static supported_vmsizes(workspace, location=None)

매개 변수

workspace
Workspace
필수
location
str
기본값: None

클러스터의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다.

반환

VM, VCPU 및 RAM의 이름이 있는 지역에서 지원되는 VM 크기 목록입니다.

반환 형식

update

이 AmlCompute 대상에 대한 ScaleSettings를 업데이트합니다.

update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)

매개 변수

min_nodes
int
기본값: None

클러스터에서 사용할 최소 노드 수입니다.

max_nodes
int
기본값: None

클러스터에서 사용할 최대 노드 수입니다.

idle_seconds_before_scaledown
int
기본값: None

클러스터를 스케일 다운하기 전 노드 유휴 시간(초)입니다.

update_quotas

작업 영역의 VM 제품군에 대한 할당량을 업데이트합니다.

static update_quotas(workspace, vm_family, limit=None, location=None)

매개 변수

workspace
Workspace
필수
vm_family
str
필수

VM 제품군 이름

limit
int
기본값: None

리소스의 최대 허용 할당량

location
str
기본값: None

할당량의 위치입니다. 지정하지 않으면 기본적으로 작업 영역 위치로 설정됩니다.

wait_for_completion

AmlCompute 클러스터가 프로비저닝을 마칠 때까지 기다립니다.

이는 최소 노드 수를 기다리도록 구성할 수 있으며, 일정 시간이 지나면 시간 초과됩니다.

wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)

매개 변수

show_output
bool
기본값: False

더 자세한 출력을 제공하는 부울입니다.

min_node_count
int
기본값: None

프로비저닝 완료를 고려하기 전에 기다려야 하는 최소 노드 수입니다. 컴퓨팅에 프로비저닝된 최소 노드 수와 같을 필요는 없지만 이보다 크지 않아야 합니다.

timeout_in_minutes
int
기본값: 25

프로비저닝이 실패한 것으로 간주하기 전에 대기하는 시간(분)입니다.

is_delete_operation
bool
기본값: False

작업이 삭제를 위한 것인지 여부를 나타냅니다.

예외