Вопрос:
Tensorflow Saver, Exporter, SavedModelBuilder можно использовать для сохранения моделей. Согласно https://tensorflow.github.io/serving/serving_basic.html и тензорное обслуживание потока, я понимаю, что Saver используется для сохранения контрольных точек обучения, а Exporter и SavedModelBuilder используются для обслуживания.
Однако я не знаю, чем отличаются их результаты. Переменные. Данные - ??? - из - ??? и файлы variable.index, созданные SavedModelBuilder, такие же, как cpkt-xxx.index и cpkt-xxx.data - ??? - of - ??? сгенерировано Saver?
Я до сих пор не понимаю, что такое файлы моделей tensorflow. Я прочитал http://cv-tricks.com/tensorflow-tutorial/save-restore-tensorflow-models-quick-complete-tutorial/ и Tensorflow: как сохранить / восстановить модель?, что меня больше смущает.
В каталоге модели находится 4 файла:
- graph.pbtxt
- model.ckpt-number.data-00000-of-00001
- model.ckpt-number.meta
- model.ckpt-number.index
В файлах 2 и 4 хранятся веса переменных. Файл 3 хранит график. Тогда что же хранит 1?
Как преобразовать выходные данные Saver в SavedModelBuilder. У меня есть каталог контрольных точек, и я хочу экспортировать модель для обслуживания. Согласно https://github.com/tensorflow/tensorflow/tree/master/tensorflow/python/saved_model.
это должно быть так
export_dir = ...
...
builder = tf.saved_model.builder.SavedModelBuilder(export_dir)
with tf.Session(graph=tf.Graph()) as sess:
...
builder.add_meta_graph_and_variables(sess,
[tf.saved_model.tag_constants.TRAINING],
signature_def_map=foo_signatures,
assets_collection=foo_assets)
...
with tf.Session(graph=tf.Graph()) as sess:
...
builder.add_meta_graph(["bar-tag", "baz-tag"])
...
builder.save()
Итак, сначала мне нужно загрузить контрольные точки с помощью:
saver = tf.train.import_meta_graph('model-number.meta')
saver.restore(sess, tf.train.latest_checkpoint('./'))
А затем используйте этот sess
для строителя.
Я прав?