我已将此retrain.py脚本改编为与几种预训练模型一起使用, 训练完成后,生成一个“ retrained_graph.pb”,然后我阅读并尝试使用以下代码对图像进行预测:
def get_top_labels(image_data):
'''
Returns a list of labels and their probabilities
image_data: content of image as string
'''
with tf.compat.v1.Session() as sess:
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
predictions = sess.run(softmax_tensor, {'DecodeJpeg/contents:0': image_data})
return predictions
这对于inception_v3模型很好用,因为它具有一个名为'DecodeJpeg'的张量,而我正在使用的其他模型(例如inception_v4,mobilenet和inception_resnet_v2)则没有。
我的问题是,是否可以像在retrain.py脚本中的add_jpeg_decoding
中使用的那样向图形添加操作,以便以后将其用于预测?
是否可以做这样的事情:
predictions = sess.run(softmax_tensor, {image_data_tensor: image_data})
,其中image_data_tensor
是一个变量,取决于我使用的是哪种模型?
我检查了stackoverflow并找不到解决我问题的问题,对此,我非常感谢任何帮助。