官术网_书友最值得收藏!

2.2.2 測試查詢

最后,讓我們查詢模型并監控結果。完整性檢查(sanity check)是一個簡單的測試,確保我們的模型做出的預測在理論上是合理的。例如,我們試圖猜測寫的是什么數字。如果模型返回的答案是77、orange Kool-Aid或者ERROR,則它們都不能通過完整性檢查。我們希望看到0~9之間的數字。在投入生產前對模型進行完整性檢查是一個明智的選擇。

Web用戶界面和模型服務通過同一個Istio網關暴露。所以,模型將在http://<WEBUI_URL>/seldon<mnist-classifier/api<v0.1/predictions上提供。如果你正在使用Google IAP,可能會發現iap_curl項目對請求很有幫助。

Python腳本(https://oreil.ly/Kubeflow_for_MLch02)可以從MNIST數據集中提取圖像、將其轉化為向量、顯示圖像和將其發送到模型。將圖像轉化為向量通常是預測前轉換的一部分,詳見第8章。例2-11是一個相當清晰的Python例子,演示了如何查詢模型。該模型返回一個10個數字的JSON數據結構,以及提交的向量是否代表一個特定數字的概率。

具體來說,我們需要一個手寫數字的圖像,該圖像可以被轉換成值的數組。

例2-11:模型查詢示例

例如,見圖2-4中手寫的3。

圖2-4:手寫數字3

這將返回以下內容:

可以看到,盡管我們寫了一個很清楚的3,但模型的最佳猜測在1和7之間。也就是說,RandomForestClassifier對于手寫數字識別來說是一個糟糕的模型,但這并不是一個令人驚訝的結果。我們使用RandomForestClassifier的原因有兩個:一是為了說明第8章中模型的可解釋性;二是為了讓你可以用更合理的模型進行實驗,從而比較性能。

雖然我們在這里部署了端到端的示例,但沒有進行任何真正的驗證,你應該在將其投入真正的生產之前始終進行驗證。

主站蜘蛛池模板: 祁阳县| 武清区| 夹江县| 宁化县| 明水县| 镇宁| 大余县| 广南县| 宁安市| 宜君县| 元朗区| 苏尼特左旗| 隆子县| 大田县| 邵阳县| 图木舒克市| 获嘉县| 临高县| 柘城县| 万盛区| 京山县| 彝良县| 佛山市| 郧西县| 远安县| 沈丘县| 松溪县| 进贤县| 大洼县| 镇原县| 大埔县| 长岛县| 鄄城县| 辽源市| 会同县| 阜新市| 旺苍县| 和龙市| 奉化市| 乳源| 孟州市|