iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
AI & Data

一起學習 Azure Machine Learning 系列 第 22

DAY22 用 Azure Machine Learning SDK 建立環境

DAY22 用 Azure Machine Learning SDK 建立環境

我們在前面圖形化介面時,有個地方沒有認真帶大家看過,就是下圖的 Environment。我們可以看到 Azure Machine Learning (下稱 AML)有內建很多設定好的環境可以給我們使用,當然我們也可以建立自己要的環境。
Build environment with azure machine learning sdk

建立自己的環境

  1. 如下圖所示,有兩種環境的模式,一種是包在容器裡的,一種不是包在容器裡的、傳統依賴 Conda 或 pip 的環境。一般來說在 AML 裡都是容器化的環境。
    Build environment with azure machine learning sdk

  2. 我們先來建立一個 YAML 檔,名為 Conda.yml,參考程式碼如下:

name: koko_env
dependencies:
  - numpy
  - pandas
  - scikit-learn
  - pip:
    - azureml-defaults
  1. 然後我們用 Environment 類別來建立環境,並且註冊之。
from azureml.core import Environment

env = Environment.from_conda_specification(name='koko_training_environment',
                                           file_path='./conda.yml')

# 註冊環境
env.register(workspace=ws)
  1. 註冊後可以用下面的方式看到並取得現在有的環境:
from azureml.core import Environment

env_names = Environment.list(workspace=ws)
for env_name in env_names:
    print('Name:',env_name)

# 取得你要環境
koko_env = Environment.get(workspace=ws, name='koko_environment')

  1. 你也可以到圖形化介面去看,如下圖,切換到 Custom Environments 就可以看到我們剛剛建立的環境。
    Build environment with azure machine learning sdk

其他建環境的方法

  1. 或是可以從現有的 Conda 環境,來建立環境,程式碼如下;
from azureml.core import Environment

env = Environment.from_existing_conda_environment(name='conda_environment',
                                                  conda_environment_name='py_env')
  1. 也可以用 CondaDependencies 這個類別來指定套件,這樣子做其實我們也可以不用像剛剛一樣建立 YAML 檔,程式碼如下:
from azureml.core import Environment
from azureml.core.conda_dependencies import CondaDependencies

env = Environment('koko_environment')
deps = CondaDependencies.create(conda_packages=['scikit-learn','pandas','numpy'],
                                pip_packages=['azureml-defaults'])
env.python.conda_dependencies = deps

今天我們就介紹完環境的建立啦!明天開始的難度直線上升,要進入 AML SDK 最核心的部份囉!


上一篇
[DAY21] 用 Azure Machine Learning SDK 建立運算資源
下一篇
[DAY23] Experiment, Run, MLflow
系列文
一起學習 Azure Machine Learning 30

尚未有邦友留言

立即登入留言