我正在使用Colab进行文本分类,它是一个多标签文本分类模型。
import json
# inputFeature1
inputFeature1="¿Tiene el arte que gustar a todos? Pues no"
#inputFeature2
inputFeature2="Una imagen del último día de la exposición ded"
#inputFeature3
inputFeature3="marabilias"
instances=[{"inputFeature1":[inputFeature1],"inputFeature2=":[inputFeature2],"inputFeature3":[inputFeature3]}]
data = json.dumps({"signature_name": "serving_default", "instances": instances})
print('Data: {} ... {}'.format(data[:50], data[len(data)-52:]))
print(data)
print(requests.post('http://localhost:8501/v1/models/text_model', data=data).content.decode())
{ "error": "Malformed request: POST /v1/models/text_model" } Tensorflow Serving
在不知道模型签名的情况下,我认为问题出在你的 instances=
语句.改成。instances=[{"inputFeature1":inputFeature1,"inputFeature2=":inputFeature2,"inputFeature3":inputFeature3}]
你把特征值以列表[]的形式传递,而不是只传递值。当我们将值传递给 json.dumps
,我们需要发送一个dicts的列表。
列表中的 dicts
不需要是一个列表。
另外,请确保您正在检查您的模型签名的输入特征的数据类型。您可以使用 saved_model_cli show --dir /path/to/your/model --all
rfom命令行。