Подтвердить что ты не робот

Ошибка Tensorflow с использованием моих собственных данных

Я играл с библиотекой Tensorflow, занимаясь учебниками. Теперь я хотел играть своими собственными данными, но я терпеть неудачу ужасно. Это, возможно, вопрос о нобе, но я не могу понять.

Я использую этот пример: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3%20-%20Neural%20Networks/convolutional_network.py

Я хочу использовать свои собственные изображения, для преобразования моих изображений для использования с тензорным потоком я использую это: https://github.com/HamedMP/ImageFlow/blob/master/ImageFlow.py

Теперь я изменяю параметры в примере из этого:

 n_input = 784
 n_classes = 10

:

 n_input = 9216
 n_classes = 2

Я сделал это, потому что мои изображения 96 * 96, и есть только 2 класса моих изображений

Я также меняю веса и смещения на числа, которые мне нужны.

Я прочитал следующие данные:

batch_xs = imgReader.read_images(pathname);

imgReader является файлом ImageFlow

но когда я пытаюсь запустить его, я даю ошибку:

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

Мне кажется, что я пропускаю что-то маленькое, но я этого не вижу.

4b9b3361

Ответ 1

Эта ошибка возникает из-за того, что форма данных, которые вы пытаетесь передать (104 x 96 x 96 x 1), не соответствует форме входного заполнителя (batch_size x 9216, где batch_size может быть переменная).

Чтобы заставить его работать, добавьте следующую строку перед началом обучения:

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

Это использует numpy для изменения изображений, которые считываются, которые представляют собой 4-D массивы batch_size x h x w x channels, в матрицу элементов batch_size x 9216, как ожидается, с помощью заполнителя.

Ответ 2

Я решил эту проблему, обновив shadoworflow через pip.