J'ai essayé this tutorial on Youtube (explination de .cls et .labels à 1m31s) qui est juste un simple modèle de classificateur MNIST. Mais j'ai été incapable de le terminer en raison d'une fonction apparemment manquante dans Tensorflow.Comment obtenir des étiquettes entières à partir d'exemples MNIST après avoir spécifié one_hot = True?
>>>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'
Après une recherche sur Google pour référence « .cls » dans TF, je ne pouvais trouver aucune information qui s'y rapporte.
Un exemple sale qui a fait les choses fonctionnent:
>>>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)
J'utilise tensorflow 0.10.0 sur Linux et je me demande si l'option .cls a été supprimé? Si oui, existe-t-il une méthode alternative pour coder un tableau de noms de classificateurs à partir d'un tableau de vecteurs one_hot?
Merci
J'ai trouvé une solution de contournement en utilisant Numpy. Lorsque vous spécifiez one_hot = True, vous pouvez le recoder en un tableau d'étiquettes entières en utilisant: np.argmax (data.test.labels, axis = 1) – Logic1