Демо-код, вероятно, не включает возможность сохранения модели; вы можете явно использовать tf.train.Saver
для сохранения и восстановления переменных на контрольных точках и из них.
См. doc и examples.
Это довольно прямолинейно согласно документу. В приведенном ниже примере я сохранил все переменные в модели. Вместо этого вы можете выбрать, какие переменные (ы) сохранить, следуя examples.
# ...
tf.initialize_all_variables().run()
####################################################
# Add ops to save and restore all the variables.
####################################################
saver = tf.train.Saver()
for i in range(config.max_max_epoch):
lr_decay = config.lr_decay ** max(i - config.max_epoch, 0.0)
m.assign_lr(session, config.learning_rate * lr_decay)
print("Epoch: %d Learning rate: %.3f" % (i + 1, session.run(m.lr)))
train_perplexity = run_epoch(session, m, train_data, m.train_op,
verbose=True)
print("Epoch: %d Train Perplexity: %.3f" % (i + 1, train_perplexity))
valid_perplexity = run_epoch(session, mvalid, valid_data, tf.no_op())
print("Epoch: %d Valid Perplexity: %.3f" % (i + 1, valid_perplexity))
####################################################
# Save the variables to disk.
####################################################
save_path = saver.save(session, "/tmp/model.epoch.%03d.ckpt" % (i + 1))
print("Model saved in file: %s" % save_path)
# ....
В моем случае, каждый файл контрольной точки имеет размер диска 18.61M (--model small
).
Что касается использования модели, просто следуйте doc, чтобы восстановить контрольные точки из сохраненных файлов. Тогда вам будет угодно, как это использовать.
Спасибо за предоставленную подсказку. Но я новичок, вы можете дать более ясный пример того, как обучать и сохранять модель с кодом, который дополняет демо-модель, приведенная в учебнике. – src79
Спасибо, зеленый за код. :) – src79
Если 'sess' в' save_path = saver.save (sess, "/tmp/model.epoch.%03d.ckpt"% (i + 1)) 'будет' session', тот же сеанс, упомянутый выше, как в 'valid_perplexity = run_epoch (session, mvalid, valid_data, tf.no_op())' и другие? – lerner