Guest User

Untitled

a guest
Feb 18th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. import os
  2.  
  3. import keras
  4. import keras.backend as K
  5. import tensorflow as tf
  6.  
  7.  
  8. def export_model(filename, export_path_base):
  9. # устанавливаем режим в test time.
  10. K.set_learning_phase(0)
  11. model = keras.models.load_model(filename)
  12. sess = K.get_session()
  13.  
  14. # задаем путь сохранения модели и версию модели
  15. export_version = 1
  16.  
  17. export_path = os.path.join(
  18. tf.compat.as_bytes(export_path_base),
  19. tf.compat.as_bytes(str(export_version)))
  20. print('Exporting trained model to', export_path)
  21. builder = tf.saved_model.builder.SavedModelBuilder(export_path)
  22.  
  23. # создаем входы и выходы из тензоров
  24. model_input = tf.saved_model.utils.build_tensor_info(model.input)
  25. model_output = tf.saved_model.utils.build_tensor_info(model.output)
  26.  
  27. # создаем сигнатуру для предсказания, в которой устанавливаем входы и выходы модели
  28. prediction_signature = (
  29. tf.saved_model.signature_def_utils.build_signature_def(
  30. inputs={'images': model_input},
  31. outputs={'scores': model_output},
  32. method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME))
  33.  
  34. # добавляем сигнатуры к SavedModelBuilder
  35. legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op')
  36. builder.add_meta_graph_and_variables(sess, [tf.saved_model.tag_constants.SERVING],
  37. signature_def_map={'predict': prediction_signature},
  38. legacy_init_op=legacy_init_op)
  39.  
  40. builder.save()
  41.  
  42.  
  43. if __name__ == '__main__':
  44. export_model('changes.h5', '../serving/changes')
Add Comment
Please, Sign In to add comment