Как обрабатывать RGB-изображения в Керасе - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь натренировать простую нейронную сеть с набором изображений и связанных надписей с ручной настройкой.

Я создал numpy для создания надписей facey_label.

IМы использовали функцию imread в matplotlib, чтобы превратить каждое из 811 изображений в массив формы (255, 255, 3), а затем планировали использовать функцию np.array, чтобы создать тензор img_array формы (811, 255, 255, 3)

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(811, 255, 255, 3)),
    keras.layers.Dense(128, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam', 
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
model.fit(img_array, facey_label, epochs=5)

Однако я получаю сообщение об ошибке:

ValueError: Error when checking input: expected flatten_1_input to have 5 dimensions, but got array with shape (811, 250, 250, 3)

В чем я ошибся?

1 Ответ

0 голосов
/ 30 января 2019

Вы не должны включать размер пакета в input_shape.Попробуйте с этой моделью вместо:

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(255, 255, 3)),
    keras.layers.Dense(128, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])
...