我使用tf.estimator
API,更具体使用tf.estimator.train_and_evaluate
培养了模型TensorFlow。我有训练的输出目录。如何加载从此我的模型,然后使用它?
我已经通过装载最近tf.train.Saver
文件,并恢复会话使用ckpt
类尝试。然而,然后打电话给我sess.run()
需要知道图的输出节点的名称是这样我就可以把它传递给fetches
说法。叫什么名字/我怎么能访问这个输出节点?有没有更好的方式来加载和使用训练的模型?
请注意,我已经训练和在ckpt
文件保存的模型,所以请不要认为我使用simple_save
功能。
您可以使用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}
(回答我的问题),我意识到,要做到这一点最简单的方法是使用tf.estimator
API。通过初始化的估计,从模型目录热启动,它可能只是调用estimator.predict
和传递正确的ARGS(predict_fn
),并立即得到了预测。它不是来处理以任何方式图变量。