iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
AI & Data

後端工程師的ML入門理解與Vertex AI系列 第 26

使用Vertex匯出的模型 | ML#Day26

模型訓練完成後,除了使用Vertex的一鍵部署,若想要自行部署或在自己電腦上使用該怎麼做呢?

跟大家分享之前誤會的經驗,以及正確的使用方式。

起因是這樣子,由於在匯出模型的介面說明上,寫著會是tensorflow的套件,以及資料夾內真的有看到pb檔案。

於是一頭栽進去研究如何在python使用tensorflow套件,讀取匯出的模型做使用。

雖然pb的確是一種tensorflow的模型格式,網路上也很多資料介紹pb的使用方法,考慮tensorflow的版本和python版本的不同,也試過放到三種環境嘗試讓模型跑起來,但通通失敗。

後來經過Google客服的解答,VertexAI匯出的模型限定兩種使用方式:

  1. 匯入VertexAI做使用。
  2. 使用Google提供專門的container作為環境啟用。

所以其他方式皆無法使用匯出的模型

(原來是我不知道要看這邊的文件說明......)

參考Google的說明文件


實際的操作筆記

我的環境是mac 。

環境限制

首先有個CPU架構的限制聲明,保險起見,還是先確認一下。

檢查的指令語法如下

sysctl -a | grep machdep.cpu.features

結果

machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C

AVX1.0 表示有支援

匯出模型

把模型下載到自己的電腦上,整個東西是一個資料夾,並非單一檔案。

內容如下:

按照文件上的指示,資料夾名稱我隨便改成「s」

下一步指令照著文件說明,我自己的會改成下面這樣。

記得terminal要先移到model-7355706401542373376的上一層位置。

docker run -v `pwd`/model-7355706401542373376/tf-saved-model/s:/models/default  \
-p 8080:8080 \
-it asia-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1

然後就跑起來,超級方便,超級無腦。

然後準備好要預測的資料,將參數設一設存成json檔案。

我將檔案命名為predict.json

然後按照文件,利用rest的方式將參數送到模型。

curl -X POST --data @predict.json [http://localhost:8080/predict](http://localhost:8080/predict)

發送curl request之後,立刻就可以拿到預測的參數。


上一篇
改善R^2 (2) | ML#Day25
下一篇
BigQuery 與Machine Learning | ML#Day27
系列文
後端工程師的ML入門理解與Vertex AI30

尚未有邦友留言

立即登入留言