Python 使用inception V3在Tensorflow中定位对象

Python 使用inception V3在Tensorflow中定位对象,python,machine-learning,neural-network,tensorflow,deep-learning,Python,Machine Learning,Neural Network,Tensorflow,Deep Learning,我看过一篇博客文章,其中描述了如何使用Google的图像分类模型Inception V3定位图像中的对象 “我们可以将8x8x2048表示形式解释为特征网格, 将图像分解为8个水平网格和8个垂直网格 正方形。” 有人能解释一下我如何用python访问Inception的8x2048层吗?然后使用1x1卷积将这些向量中的每一个映射到一个类标签 谢谢 调用需要修改网络的函数,为1x1卷积增加一层 更改非常小,您可以按照它构造其他层的方式进行。简单来说,该层如下所示: net = ops.conv2d

我看过一篇博客文章,其中描述了如何使用Google的图像分类模型Inception V3定位图像中的对象

“我们可以将8x8x2048表示形式解释为特征网格, 将图像分解为8个水平网格和8个垂直网格 正方形。”

有人能解释一下我如何用python访问Inception的8x2048层吗?然后使用1x1卷积将这些向量中的每一个映射到一个类标签

谢谢

调用需要修改网络的函数,为1x1卷积增加一层

更改非常小,您可以按照它构造其他层的方式进行。简单来说,该层如下所示:

net = ops.conv2d(net, 2048, [1, 1])

我发现您可以获得8x2048

    with tf.Session(config=config) as sess:
        tensor = sess.graph.get_tensor_by_name('mixed_10/join:0')
        for image_to_test in os.listdir(directory):
            image = os.path.join(directory, image_to_test)
            with tf.gfile.FastGFile(image, 'rb') as f:
                image_data = f.read()
                decoded={'DecodeJpeg/contents:0': image_data}
                predictions = sess.run(tensor, decoded)
预测现在具有8x8x2048

然而,我还没有弄明白如何从“2048”值中获取类

我正在努力

import tensorflow.contrib.slim as slim

predictions = sess.run(tensor, decoded)
ppp= slim.conv2d(predictions,2048,[1,1])
x=tf.unstack(ppp)
但这会返回一个张量

张量(“Conv/Relu:0”,shape=(1,8,82048),dtype=float32,device=/device:CPU:0)


[]

感谢您提供了信息丰富的答案。链接帮了大忙!如果我在运行时添加“Print'Here'”,则不会发生任何事情,这是由谷歌提供的。在提供的Google代码中,它不是在运行slim inception模型吗?可以告诉它使用超薄型吗?谢谢您指向我的代码没有使用slim函数,您可以看看slim函数是如何使用的:您可以从“/tf_files/retranted_graph.pb”中读取图形。我想这不是你想做的。你必须建立自己的图表。