Tensorflow服务服务器(使用docker运行)响应我的GET(和POST)请求:
{ "error": "Malformed request: POST /v1/models/saved_model/" }
确切地说,同样的问题已经报告但从未解决过(据说,这是一个StackOverflow问题,而不是GitHub问题):
https://github.com/tensorflow/serving/issues/1085
https://github.com/tensorflow/serving/issues/1095
有任何想法吗?非常感谢你。
我确认这在v12之前不起作用,确实在v12之后工作。
> docker run -it -p 127.0.0.1:9000:8500 -p 127.0.0.1:9009:8501 -v /models/55:/models/55 -e MODEL_NAME=55 --rm tensorflow/serving
> curl http://localhost:9009/v1/models/55
{ "error": "Malformed request: GET /v1/models/55" }
现在尝试使用v12:
> docker run -it -p 127.0.0.1:9000:8500 -p 127.0.0.1:9009:8501 -v /models/55:/models/55 -e MODEL_NAME=55 --rm tensorflow/serving:1.12.0
> curl http://localhost:9009/v1/models/55
{
"model_version_status": [
{
"version": "1541703514",
"state": "AVAILABLE",
"status": {
"error_code": "OK",
"error_message": ""
}
}
]
}
取决于你的模型,但这是我的身体的样子:
{“inputs”:{“text”:[“Hello”]}}
我用Postman来帮助我,让它知道它是一个JSON。
这是针对预测API,因此网址以“:predict”结尾再次,这取决于您尝试使用的API。
我的方法有两个问题:
1)我的Tensorflow_model_server不支持状态检查请求(有关详细信息,请参阅https://github.com/tensorflow/serving/issues/1085)
2)更重要的是,在使用Windows时,必须使用JSON中的引号。所以代替:
curl -XPOST http://localhost:8501/v1/models/saved_model:predict -d "{"instances":[{"features":[1,1,1,1,1,1,1,1,1,1]}]}"
我应该用这个:
curl -XPOST http://localhost:8501/v1/models/saved_model:predict -d "{\"instances\":[{\"features\":[1,1,1,1,1,1,1,1,1,1]}]}"
模型状态API仅在主分支中受支持。目前还没有支持它的TF服务版本(API将在即将发布的1.12版本中发布)。您可以使用夜间docker镜像(tensorflow / serving:nightly)来测试主分支构建。
这个解决方案由netf在issue:1128 in tensorflow/serving给出。我已经尝试过这个解决方案,它已经完成,我可以获得模型status.Getting Model status img(这是模型状态演示的img)。
希望我能帮助你。
如果您没有清除主分支构建,您可以与我联系。
我可以给你指示。
电子邮件:[email protected]