我在互联网上搜索了几天,似乎找不到有人将一张图片投入到使用初始创建的图表中的示例。如果我严重忽略了一些显而易见的事情,请告诉我。对于上下文中的问题,我已经
了1)训练了一个模型并制作了相关的检查点文件
model.ckpt-10000.data-00000-of-00001
model.ckpt-10000.index
model.ckpt-10000.meta
2)然后我加载模型
tf.reset_default_graph()
sess = tf.Session()
saver = tf.train.import_meta_graph(checkpoint_path + "/model.ckpt-10000.meta", clear_devices=True)
#<tensorflow.python.training.saver.Saver object at 0x11eea89e8>
sess.run(saver.restore(sess, checkpoint_path + "/model.ckpt-10000"))
3)这样可以正常工作,所以我加载了默认图表
graph = tf.get_default_graph()
这是我迷路的地方。如此示例所示,我们必须按名称标识图层,以将图像数据传递到 - http://cv-tricks.com/tensorflow-tutorial/training-convolutional-neural-network-for-image-classification/。
那么,这些图层的名称是什么?我认为它们类似于“DecodeJpeg”和“/ tower1 / preditions / logits”,但这些并不比猜测好。
感谢您的帮助。
答案 0 :(得分:0)
保存/恢复之前和之后的操作之间的标准映射方法是将它们添加到collections
。在https://www.tensorflow.org/api_guides/python/meta_graph中搜索tf.add_to_collection
和tf.get_collection
。这些示例保存了training_op和logits,但您也可以保存输入占位符。
如果你无法重新保存元图def并且它没有任何集合,那么查看节点名称和类型(输入通常是placeholder
ops)可能是你能做的最好的。