RemoteCompute 클래스
Azure Machine Learning에서 사용할 원격 컴퓨팅 대상을 관리합니다.
Azure Machine Learning은 원격 컴퓨팅 리소스를 작업 영역에 연결하는 방법을 지원합니다. Azure Machine Learning에서 리소스에 액세스할 수 있는 한 원격 리소스는 Azure VM, 조직의 원격 서버 또는 온-프레미스일 수 있습니다. 자세한 내용은 Azure Machine Learning의 컴퓨팅 대상을 참조하세요.
클래스 ComputeTarget 생성자입니다.
제공된 작업 영역과 연결된 Compute 개체의 클라우드 표현을 검색합니다. 검색된 Compute 개체의 특정 형식에 해당하는 자식 클래스의 인스턴스를 반환합니다.
생성자
RemoteCompute(workspace, name)
매개 변수
| Name | Description |
|---|---|
|
workspace
필수
|
검색할 RemoteCompute 개체를 포함하는 작업 영역 개체입니다. |
|
name
필수
|
검색할 RemoteCompute 개체의 이름입니다. |
|
workspace
필수
|
검색할 Compute 개체를 포함하는 작업 영역 개체입니다. |
|
name
필수
|
검색할 Compute 개체의 이름입니다. |
설명
다음 Azure 지역은 가상 머신 또는 HDInsight 클러스터의 공용 IP 주소를 사용하여 컴퓨팅 대상을 연결하는 것을 지원하지 않습니다.
미국 동부
미국 서부 2
미국 중남부
대신 VM 또는 HDInsight 클러스터의 Azure Resource Manager ID를 사용합니다. /subscriptions/subscription_id/resourceGroups/resource_group/providers<>/Microsoft.Compute/virtualMachines<>/<vm_name> 문자열 형식을 사용하여 구독 ID, 리소스 그룹 이름 및 VM 이름을 사용하여 VM의 리소스 ID를 생성할 수 있습니다.
다음 예제에서는 DSVM(Data Science Virtual Machine)을 만들고 컴퓨팅 대상으로 연결하는 방법을 보여 줍니다.
from azureml.core.compute import ComputeTarget, RemoteCompute
from azureml.core.compute_target import ComputeTargetException
username = os.getenv('AZUREML_DSVM_USERNAME', default='<my_username>')
address = os.getenv('AZUREML_DSVM_ADDRESS', default='<ip_address_or_fqdn>')
compute_target_name = 'cpudsvm'
# if you want to connect using SSH key instead of username/password you can provide parameters private_key_file and private_key_passphrase
try:
attached_dsvm_compute = RemoteCompute(workspace=ws, name=compute_target_name)
print('found existing:', attached_dsvm_compute.name)
except ComputeTargetException:
attach_config = RemoteCompute.attach_configuration(address=address,
ssh_port=22,
username=username,
private_key_file='./.ssh/id_rsa')
# Attaching a virtual machine using the public IP address of the VM is no longer supported.
# Instead, use resourceId of the VM.
# The resourceId of the VM can be constructed using the following string format:
# /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Compute/virtualMachines/<vm_name>.
# You can also use subscription_id, resource_group and vm_name without constructing resourceId.
attach_config = RemoteCompute.attach_configuration(resource_id='<resource_id>',
ssh_port=22,
username='username',
private_key_file='./.ssh/id_rsa')
attached_dsvm_compute = ComputeTarget.attach(ws, compute_target_name, attach_config)
attached_dsvm_compute.wait_for_completion(show_output=True)
전체 샘플은 다음에서 사용할 수 있습니다. https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-remote-vm/train-on-remote-vm.ipynb
메서드
| attach |
되지 않는. 대신 메서드를 기존 원격 컴퓨팅 리소스를 제공된 작업 영역과 연결합니다. |
| attach_configuration |
원격 컴퓨팅 대상을 연결하기 위한 구성 개체를 만듭니다. VM의 공용 IP 주소를 사용하여 가상 머신을 연결하는 것은 더 이상 지원되지 않습니다. 대신 VM의 resourceId를 사용합니다. VM의 resourceId는 "/subscriptions/subscription_id/resourceGroups/<resource_group>/providers/<>Microsoft.Compute/virtualMachines/<vm_name>" 문자열 형식을 사용하여 생성할 수 있습니다. resourceId를 생성하지 않고 subscription_id, resource_group 및 vm_name 사용할 수도 있습니다. 자세한 내용은 https://aka.ms/azureml-compute-vm를 참조하세요. |
| delete |
RemoteCompute 개체에는 삭제가 지원되지 않습니다. detach를 대신 사용하세요. |
| deserialize |
JSON 개체를 RemoteCompute 개체로 변환합니다. |
| detach |
연결된 작업 영역에서 RemoteCompute 개체를 분리합니다. 기본 클라우드 개체는 삭제되지 않고 연결만 제거됩니다. |
| get_credentials |
RemoteCompute 대상에 대한 자격 증명을 검색합니다. |
| refresh_state |
개체의 속성에 대한 현재 위치 업데이트를 수행합니다. 이 메서드는 해당 클라우드 개체의 현재 상태에 따라 속성을 업데이트합니다. 이는 주로 컴퓨팅 상태의 수동 폴링에 사용됩니다. |
| serialize |
이 RemoteCompute 개체를 JSON 직렬화된 사전으로 변환합니다. |
attach
되지 않는. 대신 메서드를 attach_configuration 사용합니다.
기존 원격 컴퓨팅 리소스를 제공된 작업 영역과 연결합니다.
static attach(workspace, name, username, address, ssh_port=22, password='', private_key_file='', private_key_passphrase='')
매개 변수
| Name | Description |
|---|---|
|
workspace
필수
|
컴퓨팅 리소스를 연결할 작업 영역 개체입니다. |
|
name
필수
|
제공된 작업 영역 내에서 컴퓨팅 리소스와 연결할 이름입니다. 연결할 컴퓨팅 리소스의 이름과 일치하지 않아도 됩니다. |
|
username
필수
|
리소스에 액세스하는 데 필요한 사용자 이름입니다. |
|
address
필수
|
연결할 리소스의 주소입니다. |
|
ssh_port
|
리소스에 대해 노출된 포트입니다. 기본값은 22입니다. Default value: 22
|
|
password
필수
|
리소스에 액세스하는 데 필요한 암호입니다. |
|
private_key_file
필수
|
리소스에 대한 프라이빗 키가 포함된 파일의 경로입니다. |
|
private_key_passphrase
필수
|
리소스에 액세스하는 데 필요한 프라이빗 키 구입니다. |
반환
| 형식 | Description |
|---|---|
|
컴퓨팅 개체의 RemoteCompute 개체 표현입니다. |
예외
| 형식 | Description |
|---|---|
attach_configuration
원격 컴퓨팅 대상을 연결하기 위한 구성 개체를 만듭니다.
VM의 공용 IP 주소를 사용하여 가상 머신을 연결하는 것은 더 이상 지원되지 않습니다. 대신 VM의 resourceId를 사용합니다. VM의 resourceId는 "/subscriptions/subscription_id/resourceGroups/<resource_group>/providers/<>Microsoft.Compute/virtualMachines/<vm_name>" 문자열 형식을 사용하여 생성할 수 있습니다.
resourceId를 생성하지 않고 subscription_id, resource_group 및 vm_name 사용할 수도 있습니다. 자세한 내용은 https://aka.ms/azureml-compute-vm를 참조하세요.
static attach_configuration(username, subscription_id=None, resource_group=None, vm_name=None, resource_id=None, address=None, ssh_port=22, password='', private_key_file='', private_key_passphrase='')
매개 변수
| Name | Description |
|---|---|
|
username
필수
|
리소스에 액세스하는 데 필요한 사용자 이름입니다. |
|
subscription_id
|
가상 머신이 있는 Azure 구독 ID입니다. Default value: None
|
|
resource_group
|
가상 머신이 있는 리소스 그룹의 이름입니다. Default value: None
|
|
vm_name
|
가상 머신 이름입니다. Default value: None
|
|
resource_id
|
기존 리소스에 대한 ARM(Azure Resource Manager) 리소스 ID입니다. Default value: None
|
|
address
|
기존 리소스의 주소입니다. Default value: None
|
|
ssh_port
|
리소스에 대해 노출된 포트입니다. 기본값은 22입니다. Default value: 22
|
|
password
필수
|
리소스에 액세스하는 데 필요한 암호입니다. |
|
private_key_file
필수
|
리소스에 대한 프라이빗 키가 포함된 파일의 경로입니다. |
|
private_key_passphrase
필수
|
리소스에 액세스하는 데 필요한 프라이빗 키 구입니다. |
반환
| 형식 | Description |
|---|---|
|
Compute 개체를 연결할 때 사용할 구성 개체입니다. |
delete
deserialize
JSON 개체를 RemoteCompute 개체로 변환합니다.
static deserialize(workspace, object_dict)
매개 변수
| Name | Description |
|---|---|
|
workspace
필수
|
RemoteCompute 개체가 연결된 작업 영역 개체입니다. |
|
object_dict
필수
|
RemoteCompute 개체로 변환할 JSON 개체입니다. |
반환
| 형식 | Description |
|---|---|
|
제공된 JSON 개체의 RemoteCompute 표현입니다. |
예외
| 형식 | Description |
|---|---|
설명
ComputeTargetException 제공된 작업 영역이 Compute와 연결된 작업 영역이 아닌 경우 발생합니다.
detach
연결된 작업 영역에서 RemoteCompute 개체를 분리합니다.
기본 클라우드 개체는 삭제되지 않고 연결만 제거됩니다.
detach()
예외
| 형식 | Description |
|---|---|
get_credentials
RemoteCompute 대상에 대한 자격 증명을 검색합니다.
get_credentials()
반환
| 형식 | Description |
|---|---|
|
RemoteCompute 대상에 대한 자격 증명입니다. |
예외
| 형식 | Description |
|---|---|
refresh_state
개체의 속성에 대한 현재 위치 업데이트를 수행합니다.
이 메서드는 해당 클라우드 개체의 현재 상태에 따라 속성을 업데이트합니다. 이는 주로 컴퓨팅 상태의 수동 폴링에 사용됩니다.
refresh_state()
serialize
이 RemoteCompute 개체를 JSON 직렬화된 사전으로 변환합니다.
serialize()
반환
| 형식 | Description |
|---|---|
|
이 RemoteCompute 개체의 JSON 표현입니다. |