Error de tensor de flujo utilizando mis propios datos.

He estado jugando con la biblioteca Tensorflow haciendo los tutoriales. Ahora quería jugar con mis propios datos, pero fallo horriblemente. Esta es quizás una pregunta noob, pero no puedo entenderlo.

Estoy usando este ejemplo: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3%20-%20Neural%20Networks/convolutional_network.py

Quiero usar mis propias imágenes, para convertir mis imágenes para usar con tensorflow. Estoy usando esto: https://github.com/HamedMP/ImageFlow/blob/master/ImageFlow.py

Ahora cambio los parámetros en el ejemplo de esto:

n_input = 784 n_classes = 10 

a esto:

  n_input = 9216 n_classes = 2 

Hice eso porque mis imágenes son 96 * 96 y solo hay 2 clases de mis imágenes

También cambio los pesos y sesgos a los números que necesito.

Leí los datos de esta manera:

 batch_xs = imgReader.read_images(pathname); 

imgReader es el archivo ImageFlow

pero cuando bash ejecutarlo me da un error:

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

Siento que estoy pasando por alto algo pequeño pero no lo veo.

Este error se debe a que la forma de los datos que está intentando alimentar (104 x 96 x 96 x 1) no coincide con la forma del marcador de posición de entrada ( batch_size x 9216, donde batch_size puede ser variable).

Para que funcione, agregue la siguiente línea antes de ejecutar un paso de capacitación:

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

Esto utiliza numpy para remodelar las imágenes leídas, que son matrices en 4-D de los canales batch_size xhxwx, en una matriz de elementos batch_size x 9216 como espera el marcador de posición.

Resolví este problema actualizando tensorflow a través de pip.