【TensorFlow系列】【五】利用inception v3 pb模型文件做预测

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本文介绍如何利用imagenet比赛上训练好的inception v3冻结的pb模型进行inference。

1.下载inception v3 pb文件。

2.导入pb到TensorFlow。

3.获取输入与预测Tensor。

4.加载图片

5.进行inference

【一】先看代码

import tensorflow as tf
import numpy as np
'''
下载训练好的pb文件
'http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz'
'''
pb_path = r"D:\TensorFlow-model\inception-2015-12-05\classify_image_graph_def.pb"
with tf.gfile.FastGFile(pb_path,'rb') as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())
    tf.import_graph_def(graph_def, name='')
with tf.Session() as session:
    #获取pb文件中模型的所有op,主要是为了获得input与output
    print(tf.get_default_graph().get_operations())
    image = "D:\TensorFlow-model\inception-2015-12-05\cropped_panda.jpg"
    #解码图片作为inference的输入
    image_data = tf.gfile.FastGFile(image, 'rb').read()
    softmax_tensor = session.graph.get_tensor_by_name('softmax:0')
    predictions = session.run(softmax_tensor,
                           {'DecodeJpeg/contents:0': image_data})
    index = np.argmax(predictions,1)
    print(index)

结果如下:

154953_i1UW_3800567.png

label为169,从文件中找到169是哪个类别

以下图片中的文件,来自于上述代码链接中下载的压缩包解压后的文件。

【TensorFlow系列】【五】利用inception v3 pb模型文件做预测_第1张图片

该文件说明了label属于哪个分类

【TensorFlow系列】【五】利用inception v3 pb模型文件做预测_第2张图片

再在如下文件中查找:

【TensorFlow系列】【五】利用inception v3 pb模型文件做预测_第3张图片

【TensorFlow系列】【五】利用inception v3 pb模型文件做预测_第4张图片

是说:该图片是一直熊猫

【TensorFlow系列】【五】利用inception v3 pb模型文件做预测_第5张图片

转载于:https://my.oschina.net/u/3800567/blog/1637874

你可能感兴趣的:(【TensorFlow系列】【五】利用inception v3 pb模型文件做预测)