我对TensorFlow和stackoverflow都很陌生。我正在做一个项目,在这个项目中,我应该推荐5个最适合一张照片的标签。Tensorflow为您训练了最后一层的每个标记都提供了一个预测值,它的目标是找到精度超过0.5的标记,而其他标记的预测值则小于0.1。但我如何找出是否有多个标签是最相关的标签? e、 g.对于一个红色的鸟的图像,TF(Tensorflow)给我的是bird作为最好的标签和红色作为第二好的标签,尽管两者的相关性相同。在
我的问题是如果TF足够相关,如何使TF给多于1个标记的值相等?(如果不一样的话,非常接近的数字对我来说就可以了)另外,有没有一种方法可以让我在一个.txt文件中获得这些标记的输出和它们对应的值?(问题的最后一部分以前也有人问过,但仍然没有答案,所以我想我会把它作为问题的一部分)
我的标签代码_图像.py与《诗人的张量流教程》中给出的相同。这是密码
import tensorflow as tf
image_path = sys.argv[1]
image_data = tf.gfile.FastGFile(image_path, 'rb').read()
label_lines = [line.rstrip() for line
in tf.gfile.GFile("/tf_files/retrained_labels.txt")]
with tf.gfile.FastGFile("/tf_files/retrained_graph.pb", 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
with tf.Session() as sess:
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
predictions = sess.run(softmax_tensor, \
{'DecodeJpeg/contents:0': image_data})
top_k = predictions[0].argsort()[-len(predictions[0]):][::-1]
for node_id in top_k:
human_string = label_lines[node_id]
score = predictions[0][node_id]
print('%s (score = %.5f)' % (human_string, score))
如何找出是否有一个以上的标签是最相关的标签?
如果你在每一个软层中都有一个表示最大值的标签。因此,该分数基本上是对应标签的相关性。在
有没有一种方法可以让我在一个.txt文件中得到这些标记及其相应值的输出?
是的,我们基本上
eval()
分数并使用f.write(content)
将其写入文本文件。在一个非常简单的代码块:
相关问题 更多 >
编程相关推荐