Неверные входные данные для модели TensforFlow - PullRequest
1 голос
/ 01 ноября 2019

Я построил модель TensorFlow на Sagemaker, и она отлично работает с выводом в реальном времени, однако я хочу использовать функцию пакетного преобразования, и я начал искать входные данные. Я начал отлаживать свою модель локально с помощью save_model_cli:

saved_model_cli show \
--dir . \
--tag_set serve \
--signature_def serving_default

The given SavedModel SignatureDef contains the following input(s):
inputs['inputs'] tensor_info:
  dtype: DT_FLOAT
  shape: (-1, 50, 11)
  name: lstm_input:0
The given SavedModel SignatureDef contains the following output(s):
outputs['dense/BiasAdd:0'] tensor_info:
  dtype: DT_FLOAT
  shape: (-1, 1)
  name: dense/BiasAdd:0
Method name is: tensorflow/serving/predict

Я предполагаю, что мои входные данные называются inputs, как указано выше, однако, когда я запускаю следующий код, я получаю ошибку

saved_model_cli run \
--dir . \
--tag_set serve \
--signature_def predict \
--input_examples 'inputs=[{"":[1.2]}]'

ValueError: «input» не является допустимым ключом ввода. Пожалуйста, выберите "" или используйте опцию --show.

Я пытался предоставить файл npy (--inputs inputs=batch_transform.npy), различные представления данных, но всегда с одной и той же ошибкой.

Моя модель сохраняется со следующим кодом:

tf.saved_model.simple_save(  
   tf.keras.backend.get_session(),  
   os.path.join(model_dir, 'model/1'),  
   inputs={'inputs': model.input},  
   outputs={t.name: t for t in model.outputs})

Я пробовал версии TF 1.12 и 1.14, но результат тот же.

Любой совет?

...