我們前面一半的課程,學習了透過圖形化介面,學習了 Azure Machine Learing 的整體架構。可是我們不單單可以透過圖形化介面來使用 AML,還可以透過程式碼的方式來操作 AML,這就是 Azure Machine Learning SDK。
其實在實務上,AML SDK 才是最主要的方式,圖形化介面只是輔助。不過我們先講圖形化介面操作再講 SDK,這樣子的好處是可以讓初學者們更容易學習與理解 AML 是什麼。
舉例來說,我們目前學習了 Workspace 的建立,還學習了建立 Datastore,還有建立 Dataset、還有開運算資源、AutoML、到部署等等的內容,相信大家已經充份了解了 AML 是什麼樣子的工具,可以解決什麼樣子的問題。而我們這些所有操作過的內容,大部份都可以透過 AML SDK 來建立。
還記得下面這個畫面嗎?這是我們在前面建立 Dataset 時,教大家怎麼使用 Dataset。這個就是 AML SDK。
目前 AML SDK 有 Python 版本和 R 版本,但是以 Python 版本的功能最齊全,建議大家還是使用 Python 來做吧!
使用 SDK 有很多優點,介紹如下:
可以在自己習慣的開發環境下做機器學習。像有的人喜歡在 PyCharm 裡寫,有的人喜歡在 VS Code 裡寫,甚至還有一些人喜歡在 Spyder 裡面寫。透過 AML SDK,你想在哪裡寫,就在哪裡寫。
可以自動化的作業,不用每次都要進到圖形化介面裡面操作。
重複利用程式碼,團隊可以開發專案共用的程式碼或套件來重複使用。
方便設定工作流程,進一步可以導入 MLOps。
利於保持在開發、測試、產品等多個環境中都一致,不怕不小心手殘點錯介面。
我們只要使用 pip install azureml-sdk
,就可以開始使用 AML SDK 啦!
除了 SDK 之外,我們還可以透過 Command Line 來玩 AML。必須要先安裝完 Azure 的 CLI,然後再來安裝 Azure Machine Learning 的 CLI ,才能開始使用 Command Line。
這個工具在建立一些資源的時候還滿方便的。舉例來說,我們可以用這個指令 az ml computetarget list -g 'aml-resources' -w 'aml-workspace'
來列出運算資源和 Workspace。而在 SDK 的做法,我們就是要用一個 for loop 去把資源印出來。
什麼時候使用 CLI 呢?一般是和資源相關的時候會比較常使用。而 SDK 就比較偏向在開發機器學習的時候用比較多。
明天我們開始來進入 Azure Machine Learning 的 SDK 吧!先從用程式碼來建立 Workspace 開始!