Как мне сохранить и загрузить классификатор DNN в тензорном потоке? Запрашивая это для заданной программы классификатора Iris по умолчанию. (https://www.tensorflow.org/get_started/estimator)
2 ответа
Сохранить
Первое, что вам нужно сделать, это создать внутри сеанса объект Tenorflow Saver :
with tf.Session(graph=graph) as sess:
saver = tf.train.Saver()
Затем, после тренировки - и все еще внутри сеанса - вы вызываете метод save :
saver.save(sess, 'path/to/model_file')
Вам не нужно указывать расширение файла, так как метод save сделает это за вас.
Загрузить
Чтобы восстановить модель, вы открываете новый сеанс (конечно, без графика) и делаете так:
with tf.Session() as sess:
new_saver = tf.train.import_meta_graph('path/to/model_file.meta')
new_saver.restore(sess, tf.train.latest_checkpoint('path/to/model_dir/'))
# restore the tensors you want (usually, the ones you use in feed_dict and sess.run)
graph = tf.get_default_graph()
x = graph.get_tensor_by_name("x:0")
output = graph.get_tensor_by_name("output:0")
feed_dict = {x:x}
[result] = sess.run([output], feed_dict=feed_dict)
Вы также можете проверить это руководство о сохранении и восстановлении моделей тензорного потока. Я надеюсь, что это помогает!
Чтобы сохранить и повторно использовать классификатор, вы можете просто перезагрузить его с тем же путем model_dir.
Например, в методе, который вы хотите использовать классификатор, вы можете просто снова создать классификатор с тем же model_dir. Это перезагрузит его из того состояния, в котором он был ранее.
Я использую это для обучения, а затем перезагружаю для тестирования отдельных примеров.
tf.estimator.DNNClassifier
(feature_columns=feature_columns,
hidden_units=[10, 20, 10],
n_classes=3,
model_dir="/tmp/iris_model")
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.