2017-10-10 33 views
1

我在互联网上搜索了几天,似乎无法找到将某个图像添加到使用初始创建的图形中的人的示例。请让我知道,如果我严重忽略了一些明显的东西。要但在上下文中的问题,我已经将单个图像添加到使用初始版本v3训练的模型中

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

保存/恢复前后操作之间映射的标准方式是将它们添加到collections。在https://www.tensorflow.org/api_guides/python/meta_graph中搜索tf.add_to_collectiontf.get_collection。这些示例保存了training_op和logits,但您也可以保存输入占位符。

如果您不能重新保存元图形def并且它没有任何集合,那么查看节点名称和类型(输入通常是placeholder ops)可能是您可以做的最好的。