iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 29
0

今天介紹的 Qwiklabs 任務是 Machine Learning APIs,這個任務是指導我們怎麼使用 GCP ML API,算是比較進階的練習。所以它建議在開始這個任務之前,至少先完成我們在第27天介紹的 Baseline: Data, ML, and AI 的練習,本系列中的練習是假設我們已經具有基本的 GCP ML 知識。這個任務的子課程有:

  • (GSP294) Introduction to APIs in Google
  • (GSP075) Extract, Analyze, and Translate Text from Images with the Cloud ML APIs
  • (GSP063) Classify Text into Categories with the Natural Language API
  • (GSP037) Detect Labels, Faces, and Landmarks in Images with the Cloud Vision API
  • (GSP038) Entity and Sentiment Analysis with the Natural Language API
  • (GSP066) Awwvision: Cloud Vision API from a Kubernetes Cluster
  • (GSP223) Classify Images of Clouds in the Cloud with AutoML Vision (維修中)
  • (GSP078) Implementing an AI Chatbot with Dialogflow
  • (GSP076) Cloud ML Engine: Qwik Start

由於是一連串使用 API 的實作,所以他也建議先練習 (GSP277) APIs Explorer: Qwik Start 來熟悉一下 API 的概觀。

(GSP294) Introduction to APIs in Google

第一個 Lab 是很基礎的介紹,所以很多任務都把它列入實作的子課程(如下),所以練習一次就解了一堆任務的第一關,實在CP值很高,要好好練習阿~

這個實作的內容很多都很耳熟能詳了,相信你應該看很快,我簡單的記錄一下,內容大致有:

  • API Library (這邊有個重點,在 API Library 裡提供了對所有 Google API 的訪問,不只是以 GCP 為中心的API)
  • API Dashboard (API儀表板詳細說明了對特定API的使用情況,包括流量級別,錯誤率甚至延遲,可幫助您快速分類使用Google服務的應用程序中的問題。)
  • HTTP Protocol(呼叫的協定)
  • JSON (api輸出輸入的格式)
  • API Keys (使用API的令牌)

比較重點要看的是 API Keys 的介紹,因為他決定你能不能正常的訪問 API。所以我們簡單的介紹一下。

由於Cloud Storage是託管並提供對用戶數據的訪問的平台,因此我們需要先製作 OAuth 令牌,然後再使用其服務。在新標籤頁中打開 OAuth 2.0 playground。 此服務可讓您輕鬆生成 OAuth 令牌。

不過通常名字叫 Playground 的,就是測試練習用的,所以他有警示一下:

注意:OAuth Playground 將在24小時後自動撤銷刷新令牌。您可以使用“配置”面板指定自己的應用程序OAuth憑據來避免這種情況。

第一步,向下滾動並選擇Cloud Storage JSON API V1。 然後選擇 https://www.googleapis.com/auth/devstorage.full_control


我們需要使用特定的Google帳戶登錄。登錄後,授予應用程序所請求的權限。之後 Google 授權服務器發送訪問令牌給我們。

好,進入到第二步,接著按下 [Exchange authorization code for tokens]

然後你就得到 Access Token 了

第三步就是用這個 Access Token,用 HTTP Protocol 去請求訪問。

成功的話可以看到回覆狀態是 200 OK, 並且給你一個字串 "devstorage.full_control"。

以上就是第一個子課程的介紹。

(GSP223) Classify Images of Clouds in the Cloud with AutoML Vision (維修中)

好,接下來,我們來介紹 (GSP223)。咦,不是維修中,看不見操作介紹網頁嗎?沒錯,但是這裡 [codelabs]也有,雖然不能實作,不過我們可以看看過程介紹。

這個課程大概內容有:

  • 上傳已有標籤的數據集到Google Cloud Storage,並使用CSV檔連接到 AutoML Vision
  • 使用 AutoML Vision 訓練模型並評估其準確性
  • 用訓練好的模型來預測

我這也只記錄一下重點,細節請看文件唷。

建一個 Google Cloud Storage 用來放圖片。這個範例是辨識雲朵,雲朵的圖片他幫你準備好了,放在 gs://automl-codelab-clouds,你可以直接複製過來。

gsutil -m cp -r gs://automl-codelab-clouds/* gs://${BUCKET}

複製完後,沒看到檔案的話,按一下 [REFRESH BUCKET],應該可以看到有這3個目錄。

  • cirrus (卷雲 Cirrus cloud)
  • cumulonimbus (積雨雲 cumulonimbus cloud)
  • cumulus (積雲 cumulus cloud)

然後建一個包含這些圖檔路徑的 csv 檔,範例也幫你建好了,不過要改一下實際放置的地方

先把範例的 csv 檔,複製過來。

gsutil cp gs://automl-codelab-metadata/data.csv .

把 csv 檔中本來的存放位置改成我們實際的存放的地方。

sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv

改好後,把新的 csv 檔,上傳到我們的 BUCKET

gsutil cp ./data.csv gs://${BUCKET}

再來就是到 AutoML Vision 建立一個資料集

把我們剛剛上傳的 csv 檔路徑,指定給它。

就可以瀏覽資料集,也可以在這裡對圖片做一些處理,換標籤名,或刪除。

有了資料集就可以開始訓練了。

訓練完成之後,你就可以丟圖片給他分類了。

所以你只需要準備好 BUCKET 存放圖片檔跟檔案列表檔,然後剩下的的 AotoML都搞定了,有沒有很簡單。

他在訓練跟預測需要收取費用,不過如果你的需求不是很複雜,其實用 AutoML 可以省很多工,可以考慮一下。

今天介紹了這個任務中的二個實作課程。其他有興趣的話再看原始的教學網頁囉。

好,第29天,結束。

參考
GCP Machine Learning API
OAuth 2.0 playground
Using OAuth 2.0 to Access Google APIs
How to generate the Access Token
Cloud Storage 驗證
Classify Images of Clouds in the Cloud with AutoML Vision
Qwiklabs ML APIs - 7. Classify Images of Clouds in the Cloud with AutoML Vision


上一篇
Google Cloud Solutions II: Data and Machine Learning
下一篇
第11屆iT邦幫忙鐵人賽 - 完賽筆記與文章整理
系列文
「Google Machine Learning」學習筆記31

尚未有邦友留言

立即登入留言