資料集也建立完成了,今天我們就來建立運算資源(VM)吧!還記得我們之前討論過運算資源的四種型式:
第三項是部署的部份,等到我們講到用 SDK 部署的時候再來講。
azureml.core.compute.ComputeTarget
類別和 AmlCompute
類別。而建立 compute instanceComputeInstance
類別。程式碼參考如下:
from azureml.core import Workspace
from azureml.core.compute import ComputeTarget, AmlCompute
ws = Workspace.from_config()
compute_name = 'aml-sdk'
# 設定要建立 VM 的規格、包含節點數目,是否專用等等。如果不用 cluster,改用 ComputeInstance
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_DS11_V2',
min_nodes=0, max_nodes=4,
vm_priority='dedicated')
# 建立 VM
aml_cluster = ComputeTarget.create(ws, compute_name, compute_config)
aml_cluster.wait_for_completion(show_output=True) # 加這行可以看到建立的進度
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
compute_name = "aml-sdk"
# 確認該運算資源是否存在
try:
aml_cluster = ComputeTarget(workspace=ws, name=compute_name)
print('查無此VM')
except ComputeTargetException:
# 如果不存在就建立
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_DS11_V2',
max_nodes=4)
aml_cluster = ComputeTarget.create(ws, compute_name, compute_config)
aml_cluster.wait_for_completion(show_output=True)
我們也可以進到圖形化介面裡去看,可以看到剛剛我們要建立的運算資源,真的建立起來了,如下圖。
如果要用 Attached compute,就要 import 對應運算資源的類別。例如說,你要用 Databricks,就要引入 DatabricksCompute
類別,要用 HDInsight,就要引入 HDInsightCompute
類別。建議當需要時,再去查詢文件。
除了範例之外,其實還有很多參數是可以做設定的哦!例如說你建立了 Compute instance,還可以再建立其虛擬網路。詳細的技術文件可以參考這裡做查詢。
今天我們完成了運算資源的建立,明天我們來建立環境吧!