Внешнее измерение для выходов должно быть неизвестно, внешнее измерение «Const: 0» равно 12 - PullRequest
0 голосов
/ 26 сентября 2018

Я создал модель классификации, используя retrain.py .Затем я развернул модель в google ml engine.Это дает следующую ошибку

Ошибка создания версии.Проверка модели не удалась: внешнее измерение для выходных данных должно быть неизвестно, внешнее измерение 'Const: 0' равно 12. Для получения дополнительной информации о том, как экспортировать Tensorflow SavedModel, см. https://www.tensorflow.org/api_docs/python/tf/saved_model. StackOverflow предлагает изменить измерение выходного тензора

def export_model(sess,keys, architecture, saved_model_dir):
 print("reached export funct")
 if architecture == 'inception_v3':
   input_tensor = 'DecodeJpeg/contents:0'
 elif architecture.startswith('mobilenet_'):
   input_tensor = 'input:0'
 else:
   raise ValueError('Unknown architecture', architecture)
 in_image = sess.graph.get_tensor_by_name(input_tensor)
 inputs = {'image': tf.saved_model.utils.build_tensor_info(in_image)}

 out_classes = sess.graph.get_tensor_by_name('final_result:0')

 outputs = {'prediction': 
  tf.saved_model.utils.build_tensor_info(out_classes),
         'classes': 
  tf.saved_model.utils.build_tensor_info(tf.convert_to_tensor(list(keys))),}

 signature = tf.saved_model.signature_def_utils.build_signature_def(
  inputs=inputs,
  outputs=outputs,
  method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME
  )
 print( 
  tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY)
 legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op')

 #  Save out the SavedModel.
 builder = tf.saved_model.builder.SavedModelBuilder(saved_model_dir)
 builder.add_meta_graph_and_variables(
 sess, [tf.saved_model.tag_constants.SERVING],
 signature_def_map={
   tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: 
    signature
    },
    legacy_init_op=legacy_init_op)
 builder.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...