2 回答

TA貢獻1946條經(jīng)驗 獲得超3個贊
假設(shè) Tensorflow Serving 1.11.0-rc1(在 中不起作用1.10.1),請求 JSON 負載的形式為:
{
"inputs": {
"images": [{ "b64": "IMAGE_BASE64" }]
}
}
IMAGE_BASE64要預(yù)測的圖像上的 Base64 編碼在哪里(通常是一個長字符串,因此此處未顯示)。Java 客戶端庫需要為輸入圖像構(gòu)建此有效負載。
然后,Java 客戶端會將請求提交到以下端點:
POST /v1/models/inception:predict
您可能需要替換inception部署在服務(wù)器上的模型的名稱。
要從 shell(從運行在 Docker 上的 Linux 或使用等效的 PowerShell 命令)針對可用的服務(wù)器localhost(映射到由 Docker Serving 容器公開的端口,此處8501)進行嘗試:
curl -d "@request.json" -X POST http://localhost:8501/v1/models/inception:predict
該request.json文件包含本文開頭的請求 JSON 負載。一個典型的回應(yīng):
{
"outputs": {
"classes": [
"class1",
"class2",
...
],
"scores": [
[
0.0321035,
0.905796,
...
]
]
}
}
重要說明:以上運行來自舊的 Inception v3 模型(2015)的部署,在 Serving 時導(dǎo)出0.4.1。不過,它與 Serving 配合得很好1.11.0-rc1。如果您已使用最新的導(dǎo)出腳本導(dǎo)出模型,則可能存在細微差異(1.11.0-rc1 導(dǎo)出腳本在簽名方面似乎沒有區(qū)別)。所以這個答案可能不適合你,但只是讓你走上解決問題的道路。
添加回答
舉報