Восстановить SavedModel в Tensorflow - PullRequest
1 голос
/ 01 октября 2019

Есть ли пример переподготовки SavedModel? Во многих местах они утверждают, что это возможно, вместо использования контрольных точек, но не предоставленных примеров. Когда я попытался выполнить, переменные модели остались неизменными:

...
model_save_path = "test.pb"

with tf.Session(graph=tf.Graph()) as net:
        ...
        for e in range(epochs):
            # Train the model
            ...
            builder = saved_model.builder.SavedModelBuilder(model_save_path)    
            signature = predict_signature_def(inputs={'myInput': X, 'errorInput': Y},
                                                  outputs={'myOutput': out, 'errorOutput': mse})
            builder.add_meta_graph_and_variables(sess=net,
                                 tags=[tag_constants.TRAINING],
                                 signature_def_map={'predict': signature})
            builder.save()

            print(error)

Приведенный выше код обучает модель, сохраняет каждое взаимодействие в модели и печатает соответствующую ошибку. У кода есть выход, в котором ошибка исправляется:

2773.6885

291.35968

263.40912

255.27612

Когда мы снова загрузим егои мы пытаемся обучить его, ошибка остается прежней:

...
# Load the model
model_save_path = "test.pb"
loaded = tf.saved_model.load(net, ["train"], model_save_path)
graph = tf.get_default_graph()
...    

with tf.Session(graph=tf.Graph()) as net:
        ...
        for e in range(epochs):
            # Train the model
            ...

            builder = saved_model.builder.SavedModelBuilder(model_save_path)    
            signature = predict_signature_def(inputs={'myInput': X, 'errorInput': Y},
                                                  outputs={'myOutput': out, 'errorOutput': mse})
            builder.add_meta_graph_and_variables(sess=net,
                                 tags=[tag_constants.TRAINING],
                                 signature_def_map={'predict': signature})
            builder.save()

            print(error)

Выход всегда является ошибкой из начального обучения:

255.27612

255.27612

255.27612

255.27612

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...