как обучить нейронную сеть с массивом в качестве метки, т.е. [1,0] в тензорном потоке 2.0 - PullRequest
0 голосов
/ 18 июня 2020

Я обучаю модель классификатора изображений, в которой я взял изображение и преобразовал его в массив формы 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]. Что-то не так с кодом? Если да, то как мне это изменить? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...