Я новичок в TF и получил небольшую проблему.Я пытаюсь классифицировать цветные изображения с формой (150 х 150 х 3) на 30 классов.Во время подгонки модели я получил ошибку:
ValueError: Ошибка при проверке ввода модели: список массивов Numpy, которые вы передаете вашей модели, не соответствует размеру, который ожидала модель.Ожидается увидеть 1 массив (ов), но вместо этого получен следующий список из 768 массивов: ...
мой код:
model = Sequential()
model.add(Flatten(input_shape=(150,150,3)))
model.add(Dense(150, activation=tf.nn.relu))
model.add(Dense(150, activation=tf.nn.relu))
model.add(Dense(30, activation=tf.nn.softmax))
model.compile(optimizer='adam' ,loss='sparse_categorical_crossentropy' ,metrics=['accuracy'])
model.fit(x_train, y_train, epochs=15, batch_size=768)
, когда входные массивы не являются массивами с нулевыми значениями,попытайтесь привести их, numpy выдает ошибку, что он не может транслировать (150, 150, 3) в форму (150, 150)
, кроме того, входной массив (x_train) представляет собой массив np-массивов сразмер (150 x 150 x 3), так что в целом x_train имеет форму (768 x 150 x 150 x 3), так как у меня 768 наблюдений (я надеюсь, по крайней мере), y_train - это простой массив, состоящий из меток.
Что касается входных данных, то это .jpg изображения, которые были импортированы следующим образом:
with Image.open(filename) as img:
images.append(np.array(img.resize((150,150))))
x_train, x_test, y_train, y_test = train_test_split(images, classes, test_size=0.2, random_state=42)
Спасибо за помощь заранее!