我們都知道做 AI 最重要的就是 data,沒有 data 就很難訓練模型,也很難解決商業應用上碰到的問題。
筆者在業界跑的經驗,發現很多企業都想要做 AI,都有很棒的想法可以精進他們的生產製造,更重要的是口袋裡有點錢也願意花,但是都沒有 data(或是 data 難以使用)。想做 AI 但是沒有養成收集 data 的習慣,這真的很可惜的一件事情。
今天我們就來學習怎麼把 data 放到 Azure Machine Learning(下稱AML) 裡面吧!
我們首先要先來區分 AML 裡面 Datastores 和 Datasets 的差異。
Datasets 的概念很簡單,就是資料集,你可以直接從資料集取得你的資料,直接在 AML 裡面開始使用這些資料來做 AI。
而 Datastores 的概念就比較容易讓人搞混,你會覺得 Datastores 顧名思義是儲存資料的地方,那麼這樣子和Datasets(資料集)的差別在哪裡呢?
根據微軟的官方文件,Datastore 是儲存連線資訊的地方,並且將資訊保護在 key vault 裡面以確保取得資料時的安全。
我建議可以把 Datastores 理解成 Data Connector 的概念。它儲存資料的連線資訊,例如說你的資料在SQL database 裡,或者在 Azure Blob 裡,我們就可以透過 Datastores ,安全地取得你的資料。
那麼我們現在就來實際操作,怎麼用一個 Datastore ,來取得 Azure Blob 裡的資料吧。
首先我們先來建立一個 Blob 。這裡要注意到的是,我們在建立 Workspace 時,會自動建立一個 Blob,但是這個是給 AML 使用的,非常不建議把你的 data 上傳到這個 Blob 裡。
舉例來說,如果會計部門的 CSV 檔,儲存在會計部門的 Blob 裡面,你就應該連接到該 Blob 取得資料,而不是在把該資料移進 Workspace 一起建立的 Blob 裡。
建立 Azure Blob,你必須要先建立一個 Storage account。我們先在 Azure Portal 左方的 Blade 頁面,找到 Storage Accounts。
點擊進去之後,在左上角找到 Create,點擊下去。
接著會跳出建立 Storage account 的畫面,依序說明各欄位的意思:
剩下的設定就讓它們維持 default 就好了,按下 Create 之後就會開始建立了。
建立好之後 我們進入這個 Storage account,會看到以下畫面,點擊 Containers。
再點擊左上角的 + Container,以建立新的 container。需注意這裡的 container 不是 docker 的那種 container,應該要理解為存放檔案的一個空間,像是 AWS S3 的 bucket 的概念。
接著為這個 container 輸入一個名稱,再點擊 Create。
然後就可以看到你剛剛在畫面中建立的 Container 了。
接著點擊左上角的 Upload。
這時候右邊會跳出一個視窗,可以上傳檔案,這邊我們上傳鐵達尼號的資料集。
上傳完成後,就可看到鐵達尼號的資料集出現在畫面的正中央了。
今天就先到這邊,字數已經破千了,我們明天再來把這個鐵達尼號的資料透過 Datastore 放進 Dataset 裡。