Как сохранить модель декодера кодировщика Tensorflow?

Я следил за это руководство о построении модели перевода языка кодировщик-декодер и построение модели для моего родного языка.

Теперь я хочу сохранить его, развернуть на облачном движке ML и делать прогнозы с помощью HTTP-запроса.

Я не смог найти четкого примера того, как сохранить эту модель,

Я новичок в ML и нашел руководство по сохранению TF сбивающим с толку..

Есть ли способ сохранить эту модель, используя что-то вроде tf.keras.models .save_model


person UpaJah    schedule 19.12.2018    source источник
comment
Привет @UpaJah, я не знаю способа лучше, чем предоставлено вашей ссылкой. Некоторые нетривиальные модели вроде энкодера-декодера в керасе не представлены. Поэтому, хотя keras выполняет свою работу с сеансом за вас, в tf вы должны явно контролировать его. Руководство (где объясняется Saver класс, ваша ссылка тоже) не такое короткое, но неплохое если вам нужно работать с tensorflow. Это помогает мне, когда я застрял с tf   -  person Mikhail Stepanov    schedule 20.12.2018
comment
@MikhailStepanov спасибо, думаю, у меня будет модель сборки с использованием Tensorlflow.   -  person UpaJah    schedule 20.12.2018
comment
Привет, @UpaJah. Вы поняли это? У меня сейчас такая же проблема, ищу решение. Вы можете дать мне совет?   -  person Allen_Tsang    schedule 17.02.2020


Ответы (2)


Создайте заставку поезда после открытия сеанса и после завершения обучения сохраните модель:

with tf.Session() as sess:
     saver = tf.train.Saver()
     # Training of the model
     save_path = saver.save(sess, "logs/encoder_decoder")
     print(f"Model saved in path {save_path}")
person gorjan    schedule 19.12.2018
comment
Я использую нетерпеливый режим тензорного потока, как именно будет работать код? Я думаю, мне нужно снова написать код в графе Tensorflow. - person UpaJah; 20.12.2018

Вы можете сохранить модель Keras в формате Keras HDF5, см.:

https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model

Вы захотите сделать что-то вроде:

import tf.keras
model = tf.keras.Model(blah blah)
model.save('my_model.h5')

Если вы переходите на TF 2.0, проще построить модель в tf.keras и развернуть с использованием формата TF SavedModel. В этом руководстве по версии 2.0 показано использование предварительно обученной модели tf.keras, сохранение модели в формате SavedModel, развертывание в облаке, а затем выполнение HTTP-запроса для прогноза:

https://www.tensorflow.org/beta/guide/saved_model

person Andrew - OpenGeoCode    schedule 12.06.2019