Keras模型部署在TF服务中,可提供NAN输出

时间:2018-12-12 07:55:02

标签: python tensorflow keras deep-learning tensorflow-serving

我建立了一个Keras分类器,该分类器接受Image(224,224,3)和text-encoding(5000)并给出一个输出。使用keras的预测函数时,该模型可以正常工作。 我使用

保存了模型
tf.saved_model.simple_save(
    sess,
    export_path,
    inputs={'input_image': model.input[0],'input_text': model.input[1]},
    outputs={t.name:t for t in model.outputs})

当我使用Rest API运行它时,它返回:

{u'predictions': [[nan, nan]]}

我发送数据的方式是:

img = cv2.imread(image_path)

#rescale image
img = cv2.resize(img, (scale_size[0], scale_size[1]))
img = img.astype(np.float32)

img = img.astype('float32')
#subtract mean
img -= mean
text = np.load(text_path)

text = text.astype(np.float32)

payload = {
 "signature_name":signature_constants.CLASSIFY_METHOD_NAME,
 "instances": [
   {
     "input_image": img.tolist(),
     "input_text": text.tolist()
   }
 ]
}


# sending post request to TensorFlow Serving server
r = json.dumps(payload)
results = requests.post('http://localhost:9000/v1/models/<model-name>:predict', data=r)
pred = json.loads(results.content.decode('utf-8'))
print(pred)

0 个答案:

没有答案