1

我一直在 Youtube 上尝试这个教程(解释 .cls 和 .labels 在1m31s),这只是一个简单的 MNIST 分类器模型。但由于 Tensorflow 中明显缺少功能,我无法完成它。

>>>from tensorflow.examples.tutorials.mnist import input_data
>>>data = input_data.read_data_sets("data/MNIST", one_hot=True)

>>>one_hot_labels = data.test.labels #mat shape=(num_images X num_classes)
>>>cls_labels = data.test.cls #mat shape=(num_images X 1)
Traceback (most recent call last):
  File "/home/file.py", line 5, in <module>
    cls_labels = data.test.cls
AttributeError: 'DataSet' object has no attribute 'cls'

在 Google 上搜索 TF 中的“.cls”参考后,我找不到任何相关信息。

一个让事情顺利进行的肮脏例子:

>>>data = input_data.read_data_sets("data/MNIST", one_hot=True)
>>>data2 = input_data.read_data_sets("data/MNIST")

>>>one_hot_labels = data.test.labels #mat shape=(num_images X num_classes)
>>>cls_labels = data2.test.labels #mat shape=(num_images X 1)

我在 Linux 上使用 Tensorflow 0.10.0 并且想知道 .cls 选项是否已被删除?

如果是这样,是否有另一种方法可以从 one_hot 向量数组中编码分类器名称数组?

谢谢

4

2 回答 2

3

您的标签在这种类型的数组中(一个热),例如:

array([[ 0.,  0.,  0., ...,  1.,  0.,  0.],
       [ 0.,  0.,  1., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  0.,  0.],

数字 1. 位于数组的位置,告诉您哪个标签是。

要从此数据中获取整数标签,您必须使用以下方式获取索引:

data.test.cls = np.argmax(data.test.labels, axis=1)
于 2018-04-01T16:36:22.923 回答
0

images目前我们对图像数据和labels类(标签)使用属性。例如,

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("data/MNIST", one_hot=True)
# data
images = mnist.test.images
# label
labels = mnist.test.labels

# without one-hot
mnist = input_data.read_data_sets("data/MNIST", one_hot=False)
# original data
images = mnist.test.images.reshape([-1, 28, 28])
print(images.shape)
# label
labels = mnist.test.labels
print(labels)
于 2016-11-27T05:30:17.707 回答