顯示具有 Google cloud 標籤的文章。 顯示所有文章
顯示具有 Google cloud 標籤的文章。 顯示所有文章

2017年6月8日 星期四

Google Cloud Vision 學習筆記 2

安裝 Client library

這裡有介紹如何安裝你的語言版本的library

我用的是python,所以在command line 下:
pip install --upgrade google-cloud-vision

就會自動安裝了。

(2017/6/6) 等等,這個架構可以玩玩,但我是想要裝在RPi 上的,可是這個架構並沒有RPi 的 Google Cloud SDK. 只有for X86 linux, macOS 和 windows ⋯⋯ 
(2017/6/7) 找到一個 demo了,原來不一定要用Google Cloud SDK. 用API 就可以了。快來參考這篇

安裝後,你會發現下面的範例是需要安裝 Google Cloud SDK,依照你的系統(我是用Mac),下載合適的SDK,再執行它的 install 檔。 然後 執行 gcloud init 來設定你的帳號和預設專案(project),若需要,可以再開一個 Google compute Engine API。依其範例,應該是用Google Compute Engine 來執行,因為後來我看 API 管理員的主頁,只有 Google Compute Engine API 有流量,Google Cloud Vision API 完全沒流量。
而且,請記得將SDK 安裝在~ 下,我之前放在 virtualenv 或其它目錄,執行gcloud 都會出現問題,搞了我好久。

安裝好 SDK 後,回到 Cloud Vision API Client Libraries 的說明,要再執行認證:
gcloud auth application-default login
這樣就差不多了。
然後 copy 以下檔案到你電腦裡的目錄:

C#

GO

JAVA

NODE.JS

PHP

PYTHON

RUBY

import ioimport os # Imports the Google Cloud client library from google.cloud import vision # Instantiates a client vision_client = vision.Client() # The name of the image file to annotate file_name = os.path.join(     os.path.dirname(__file__),     'resources/wakeupcat.jpg') # Loads the image into memory with io.open(file_name, 'rb') as image_file:     content = image_file.read()     image = vision_client.image(         content=content) # Performs label detection on the image file labels = image.detect_labels() print('Labels:') for label in labels:     print(label.description)
Read more in the Python API Reference Documentation for the Google Cloud Vision API Client Library.

其中 __file__ 會帶出你目前的檔案路徑,所以你的圖檔要放在你目前路徑下的 resources 目錄裡,至於圖檔名,就隨便你取。

再 執行此python 檔,就可以看到輸出的Json 結果。
基本上就是Google Vision 會判斷你的圖檔內容大概是什麼,可能性的機率有多高等等的。




2017年5月8日 星期一

Google Assistant 服務 在 RPi or Mac 上的應用

GooglePi

在網路上看到這篇文章,覺得很有興趣,Google Cloud 提供了$300 鎂 的免費試用,因此可以來試試。原本我還在學習圖型辨識,但我想最近AI 越來越強,自己也不是這領域的專家,與其重新學習去當巨人,不如直接站在巨人的肩頭上,看能不能當個巨人肩頭上的寄生蟲。
這裡有官方網頁的教學說明,更清楚:Overview

照著實作

第一步:啟動你的 RPi3

第二步:在Google Cloud 上設定 Google Assistant API

申請完 Google Clound後,首先新增一個專案
然後在Google Could Platform 上 選取 「API 管理員」裡的 「資訊主頁」
點選 在資訊主頁裡有項 「啟用API」


點選後,它會跳到 「API管理員」的 「資料庫」頁面,在搜尋欄裡,輸入「google assistant」,就可以看到 Google 自動幫你在它提供的100多個API 裡 filte 出來。 直接點選下面 filte 出來的 「Google Assistant API」
會看到頁面上針對 「Google Assistant API」的介紹與說明,然後點選頁面上的「啟用」
上面說明 「Google Assistant API」它使用的是 OAuth 2.0 的方式來存取使用者資料,因為它需要存取我們輸入給它的語音資料,因此需要授權。
點選 「OAuth 同意畫面」,如果沒有這個畫面,那先點選到「資料庫」,再點選「憑證」,應該就會有了。

點選「建立憑證」裡的 「OAuth 用戶端ID」
選擇「其它」,名稱用 google-assistant-rpi3, 或你自己取一個。
然後按 「建立」。

你應該就會得到下列畫面:
按下「確定」後,就可以看到你新建立的憑證。

然後點選右方的下載,將憑證存到你的電腦上。

至此,在google 的部分就設定完成了。

第三步:在RPi 上設定 Google Assistant(不過我是在Mac上設定)

首先設定 Python 的 虛擬環境。真的很神奇,現在連程式語言都提供虛擬環境讓你測試,避免像我這種初學者把環境弄得亂七八糟,搞不回來。虛擬環境搞亂了,就刪掉重來就好。

在mac 下,用home-brew 下載 portaudio 模組
然後啟用python虛擬環境,我用的是 virtualenv , 你可以看到 它會新建立一個叫 myenv 的環境:



之後就可以啟動我們的虛擬環境了⋯⋯

你會看到前面的提示符號多了一個 (myenv),即表示我們已經進入虛擬環境內。
接下來就可以安裝 Google Assistant SDK

切換到 ./myenv/bin 下,可以看到已經有兩個googlesamples 的 程式:

googlesamples-assistant 和 googlesamples-assistant-auth

同時把剛才的憑證一併copy 到這裡來
接下來,我們要用 googlesamples-assistant-auth 程式來先做憑證認證。

你會發現程式少了 google.auth 模組,再安裝 google.auth 模組:

再驗證一次憑證:
又少了 requests 模組,再來裝 requests 模組:
再驗證一次憑證:
還少了 google_auth_oauthlib 模組⋯⋯
再來裝 它 :
再驗證一次憑證:
還是少了 click 模組⋯⋯
再來裝它:

再驗證一次憑證:

你的browser 會跳出驗證的確認畫面:

點選你要啟用的帳號,然後再「同意」即完成認證。

Browser 畫面會變成:

同時  terminal 會回到提示符號。
差不多,我們就可以試試看,記得將你的RPi或電腦接上麥克風和喇叭。
然後執行 googlesamples-assistant:

唉⋯⋯還是少了 tenacity 模組,再來裝一下:
再來執行 googlesamples-assistant:
又少了 sounddevice 模組,相信我,這是最後一個我們缺的模組了⋯⋯

用力給它執行下去吧 googlesamples-assistant:

哈哈哈哈⋯⋯
終於可以囉~
這時,你只要按下 「enter」,然後對著Mic 說你要問的東西,Google Assistant 就會從喇叭回應囉⋯⋯可惜的是,它並不懂台語或中文。
至此己完全成功,如果你聽到它回應:
“Actually there are some basic settings that need your permission first. Just go into the Google Home app for details.”
那表示你的 google 帳號並沒有授權google 取用你的「聲音和語音活動」的權限,連到 Google Account Activity Controls 去啟動,就可以正常了。


謝謝參與。