Развертывание модели Keras в режиме tf-обслуживания с выходом NAN - PullRequest
0 голосов
/ 12 декабря 2018

Я построил классификатор Keras, который берет изображение (224,224,3) и кодировку текста (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})

Когда я запускаю ее с API Rest, она возвращает:

{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)
...