Я обучаю модель классификатора изображений, в которой я взял изображение и преобразовал его в массив формы 50 * 50 * 1, а метка этого изображения - [0,1]
. Это лошадь или человеческий классификатор, т.е. для лошадей это [0,1]
, для людей это [1,0]
. Я попытался использовать эту сеть CNN, но не смог.
model_new = Sequential([Conv2D(16, 3, padding='same', activation='relu',input_shape=(50, 50,1)),
MaxPooling2D(),
Dropout(0.2),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Dropout(0.2),
Flatten(),
Dense(512, activation='relu'),
Dense(1)
])
model_new.compile(optimizer='adam',loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])
model_new.fit(X, Y, epochs=10,validation_data=(test_x, test_y))
X
- это массив изображений размером 50,50,1
, а Y
- массив [1,0]
. Что-то не так с кодом? Если да, то как мне это изменить? Спасибо.