繁体   English   中英

如何在张量流中保存和加载DNN分类器?

[英]How to save and load a DNN classifier in tensorflow?

如何在tensorflow中保存和加载DNN分类器? 要求提供默认的虹膜分类器程序。 https://www.tensorflow.org/get_started/estimator

要保存和重用分类器,您可以使用相同的model_dir路径重新加载它。

例如,在您要使用分类器的方法中,您可以仅使用相同的model_dir再次创建分类器。 这将从以前的状态重新加载它。

我将其用于培训,然后重新加载以测试单个示例。

tf.estimator.DNNClassifier
(feature_columns=feature_columns, 
hidden_units=[10, 20, 10], 
n_classes=3, 
model_dir="/tmp/iris_model")

您需要做的第一件事是在会话中创建一个tensorflow 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)

您还可以查看有关保存和恢复tensorflow模型的本教程 希望对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM