web-dev-qa-db-fra.com

Erreur Tensorflow en utilisant mes propres données

J'ai joué avec la bibliothèque Tensorflow pour faire les tutoriels. Maintenant, je voulais jouer avec mes propres données, mais j'échoue horriblement. C'est peut-être une question de noob mais je n'arrive pas à le comprendre.

J'utilise cet exemple: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3%20-%20Neural%20Networks/convolutional_network.py

Je veux utiliser mes propres images, pour convertir mes images afin qu'elles soient utilisées avec tensorflow, j'utilise ceci: https://github.com/HamedMP/ImageFlow/blob/master/ImageFlow.py

Maintenant, je change les paramètres dans l'exemple à partir de ceci:

 n_input = 784
 n_classes = 10

pour ça:

 n_input = 9216
 n_classes = 2

Je l'ai fait parce que mes images sont 96 * 96 et il n'y a que 2 classes de mes images

Je modifie également les poids et les biais des chiffres dont j'ai besoin.

Je lis les données comme ceci:

batch_xs = imgReader.read_images(pathname);

imgReader étant le fichier ImageFlow

mais quand j'essaye de le lancer, je me trompe:

 ValueError: Cannot feed value of shape (104, 96, 96, 1) for Tensor
 u'Placeholder:0', which has shape (Dimension(None), Dimension(9216))

J'ai l'impression de négliger quelque chose de petit mais je ne le vois pas.

12
just_trying_stuff

Cette erreur est due au fait que la forme des données que vous essayez d'alimenter (104 x 96 x 96 x 1) ne correspond pas à la forme de l'espace réservé en entrée (batch_size x 9216, où batch_size peut être variable).

Pour que cela fonctionne, ajoutez la ligne suivante avant d'exécuter une étape d'apprentissage:

batch_xs = np.reshape(batch_xs, (-1, 9216))

Ceci utilise numpy pour remodeler les images lues, qui sont des tableaux 4-D de batch_size xh x w x canaux, dans une matrice d'éléments batch_size x 9216 comme prévu par le paramètre fictif.

17
mrry

J'ai résolu ce problème en mettant à niveau le tensorflow via pip.

0
bobo32