как использовать функцию потерь weighted_categorical_crossentropy - PullRequest
0 голосов
/ 19 апреля 2020

Я работаю в semanti c Сегментация была вдохновлена ​​статьей Алекса Кендалла Se gnet Я нашел реализацию здесь link , с: Input (rgb) shape = (batch_size, width) , height, 3) Выходная (горячая) форма = (batch_size, width, height, n_classes)

количество выходных классов равно 12.

Я пытался использовать взвешенную категориальную кроссентропию Функция потерь, так как у меня есть мой оптимальный вектор весов, как показано ниже:

def weighted_categorical_crossentropy(weights):
    # weights = [0.9,0.05,0.04,0.01]
    def wcce(y_true, y_pred):
        Kweights = K.constant(weights)
        if not K.is_tensor(y_pred): y_pred = K.constant(y_pred)
        y_true = K.cast(y_true, y_pred.dtype)
        return K.categorical_crossentropy(y_true, y_pred) * K.sum(y_true * Kweights, axis=-1)
    return wcce

, это сработало для меня, я не получаю ошибок, но результат потерь и точности одинаков. правильно ли использовать weighted_categorical_crossentopy.

...