Попробуйте предсказать метки текстурных изображений: изображение может содержать две метки, такие как ['banded', 'striped'], хотя большинство из них имеют только одну метку.
Точность вывода очень высока ... первая эпоха может иметь 0,96 соотв ..., но все массивы предсказаний близки к 0, что неверно, должно быть хотя бы одно число, релевантное закрытому 1.
Может кто-нибудь мне помочь?
Спасибо !!
Вот код
Input image = (read by opencv)/255
Multi-labels = First LabelEncoder convert to numbers, then keras.to_categorical
Затем я построил модель CNN следующим образом
X_train, X_test, y_train, y_test = train_test_split(img_array, test_value, test_size=0.1)
model = Sequential()
model.add(Conv2D(filters=64, kernel_size=(5, 5), padding='Same', data_format='channels_last', activation='relu',
input_shape=(300, 300, 3)))
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(Conv2D(filters=32, kernel_size=(3, 3), padding='Same', activation='relu'))
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(300, init ='uniform',activation='relu'))
model.add(Dense(285, init = 'uniform',activation='sigmoid'))
model.compile(optimizer='sgd', loss='binary_crossentropy', metrics=['accuracy'])
history = model.fit(X_train, y_train, batch_size= 24, epochs=10, validation_split=0.15)