У меня есть список изображений pgn.Из каждого изображения я извлекал определенный объект и сохранял только этот объект в отдельном изображении.Я читаю исходные изображения в массив xTrain
numpy
и извлекаю объекты в массив yTrain
numpy
:
def getFilesList(directory):
files = os.listdir(directory)
return map(lambda file: directory + file, files)
def readImagesIntoNumpy(directory):
filesList = getFilesList(directory)
images = map(lambda file: plt.imread(file), filesList)
return np.array(images)
xTrain = readImagesIntoNumpy("./original/")
yTrain = readImagesIntoNumpy("./objects/")
Я хочу, чтобы модель научилась извлекать эти объекты из новых изображений:
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
model.fit(xTrain, yTrain, epochs = 5, batch_size = 32)
Проблема в том, что последний вызов model.fit
выдает ошибку:
ValueError: Error when checking input: expected dense_17_input
to have 2 dimensions, but got array with shape (20, 256, 256, 4)
Как передать набор изображений в модель keras для тренировки?