加载和使用Python中的一个训练有素的TensorFlow模型

问题描述 投票:0回答:2

我使用tf.estimator API,更具体使用tf.estimator.train_and_evaluate培养了模型TensorFlow。我有训练的输出目录。如何加载从此我的模型,然后使用它?

我已经通过装载最近tf.train.Saver文件,并恢复会话使用ckpt类尝试。然而,然后打电话给我sess.run()需要知道图的输出节点的名称是这样我就可以把它传递给fetches说法。叫什么名字/我怎么能访问这个输出节点?有没有更好的方式来加载和使用训练的模型?

请注意,我已经训练和在ckpt文件保存的模型,所以请不要认为我使用simple_save功能。

python tensorflow
2个回答
0
投票

您可以使用tf.train.list_variables('ckpt file')检查保存在检查点文件中的所有变量。你也可以使用tf.train.init_from_checkpoint()从文件热启动。您只能通过使用分配新建分配FY地图使用存在于你的关卡变量

 variables_from_ckpt = [i[0] for i in tf.train.list_variables('ckpt file')]  
 assigment_map = {variable.op.name: variable for variable in tf.global_variables() if variable.op.name in variables_from_ckpt}

0
投票

(回答我的问题),我意识到,要做到这一点最简单的方法是使用tf.estimator API。通过初始化的估计,从模型目录热启动,它可能只是调用estimator.predict和传递正确的ARGS(predict_fn),并立即得到了预测。它不是来处理以任何方式图变量。

© www.soinside.com 2019 - 2024. All rights reserved.