相关疑难解决方法(0)

Tensorflow中图表中的张量名称列表

Tensorflow中的图形对象有一个名为"get_tensor_by_name(name)"的方法.无论如何得到有效张量名称列表?

如果没有,是否有人知道从这里预训练模型inception-v3的有效名称?从他们的例子中,pool_3是一个有效的张量,但是所有这些的列表都很好.我查看了所提到的论文,其中一些层似乎与表1中的大小相对应,但不是全部.

python tensorflow

55
推荐指数
4
解决办法
6万
查看次数

使用预训练(Tensorflow)CNN提取特征

深度学习已成功应用于几个大型数据集,用于分类少数类(猫,狗,汽车,飞机等),其性能优于简单的描述符,例如SIFT上的特征包,颜色直方图等.

然而,培训这样的网络需要每个班级有大量的数据和大量的培训时间.然而,在花费时间设计和训练这样的设备并收集训练数据之前,通常一个人没有足够的数据或只是想知道卷积神经网络可能做得多好.

在这种特殊情况下,使用现有技术出版物使用的某些基准数据集来配置和训练网络可能是理想的,并且只需将其应用于您可能作为特征提取器的某些数据集.

这导致每个图像的一组特征,其可以馈送到经典分类方法,如SVM,逻辑回归,神经网络等.

特别是当一个人没有足够的数据来训练CNN时,我可以预期这会超过CNN在少数样本上训练的管道.

我正在查看tensorflow教程,但他们似乎总是有一个明确的培训/测试阶段.我找不到带有预先配置的CNN特征提取器的pickle文件(或类似文件).

我的问题是:这些预先训练好的网络是否存在,我在哪里可以找到它们.另外:这种方法有意义吗?我在哪里可以找到CNN +权重?

编辑 WRT @约翰的评论我试着用'DecodeJpeg:0''DecodeJpeg/contents:0',并检查了输出,这是不同的(:S)

import cv2, requests, numpy
import tensorflow.python.platform
import tensorflow as tf


response = requests.get('https://i.stack.imgur.com/LIW6C.jpg?s=328&g=1')
data = numpy.asarray(bytearray(response.content), dtype=np.uint8)
image = cv2.imdecode(data,-1)

compression_worked, jpeg_data = cv2.imencode('.jpeg', image)
if not compression_worked:
    raise Exception("Failure when compressing image to jpeg format in opencv library")
jpeg_data = jpeg_data.tostring()

with open('./deep_learning_models/inception-v3/classify_image_graph_def.pb', 'rb') as graph_file:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(graph_file.read())
    tf.import_graph_def(graph_def, name='')

with tf.Session() as sess:
    softmax_tensor = sess.graph.get_tensor_by_name('pool_3:0')

    arr0 = numpy.squeeze(sess.run(
        softmax_tensor,
        {'DecodeJpeg:0': …
Run Code Online (Sandbox Code Playgroud)

machine-learning computer-vision deep-learning tensorflow

23
推荐指数
1
解决办法
2万
查看次数