Я следовал этому замечательному учебнику и успешно обучил модели (на CloudML).Мой код также делает прогнозы в автономном режиме, но теперь я пытаюсь использовать Cloud ML для прогнозов и у меня возникают некоторые проблемы.
Для развертывания моей модели я следовал этому руководству .Теперь у меня есть код, который генерирует TFRecords
через apache_beam.io.WriteToTFRecord
, и я хочу сделать прогнозы для этих TFRecords
.Для этого я следую этой статье , моя команда выглядит так:
gcloud ml-engine jobs submit prediction $JOB_ID --model $MODEL --input-paths gs://"$FILE_INPUT".gz --output-path gs://"$OUTPUT"/predictions --region us-west1 --data-format TF_RECORD_GZIP
Но я получаю только ошибки: 'Exception during running the graph: Expected serialized to be a scalar, got shape: [64]
Кажется, что это ожидаемоданные в другом формате.Я нашел спецификации формата для JSON здесь , но не смог найти, как это сделать с TFrecords.
ОБНОВЛЕНИЕ: здесь вывод saved_model_cli show --all --dir
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:
signature_def['prediction']:
The given SavedModel SignatureDef contains the following input(s):
inputs['example_proto'] tensor_info:
dtype: DT_STRING
shape: unknown_rank
name: input:0
The given SavedModel SignatureDef contains the following output(s):
outputs['probability'] tensor_info:
dtype: DT_FLOAT
shape: (1, 1)
name: probability:0
Method name is: tensorflow/serving/predict
signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['example_proto'] tensor_info:
dtype: DT_STRING
shape: unknown_rank
name: input:0
The given SavedModel SignatureDef contains the following output(s):
outputs['probability'] tensor_info:
dtype: DT_FLOAT
shape: (1, 1)
name: probability:0
Method name is: tensorflow/serving/predict