大家好!
我有一个问题在训练模型中重新使用(tensorflow)。
我有火车模型
我想预测新数据使用训练模型。
我使用DNNClassifier。
我有一个model.ckpt-200000.meta,model.ckpt-200000.index,checkpoint和eval文件夹。
但我不知道重复使用这个模型..
请帮助我。
答案 0 :(得分:0)
首先,您需要导入图表,
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
new_saver = tf.train.import_meta_graph('model.ckpt-200000.meta')
new_saver.restore(sess, tf.train.latest_checkpoint('./'))
然后你可以给图表输入并获得输出。
graph = tf.get_default_graph()
input = graph.get_tensor_by_name("input:0")#input tensor by name
feed_dict ={input:} #input to the model
#Now, access theoutput operation.
op_to_restore = graph.get_tensor_by_name("y_:0") #output tensor
print sess.run(op_to_restore,feed_dict) #get output here
很少有事情需要注意,
但是,您仍然需要像以前一样构建图表 只替换训练部分。
上述方法仅加载构造图的权重。因此,您必须首先构建图形。
这里有一个很好的教程,http://cv-tricks.com/tensorflow-tutorial/save-restore-tensorflow-models-quick-complete-tutorial/
如果您不想再次构建图表,可以按照本教程https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc
进行操作