Проблемы с использованием веса класса с категориальной кросс-энтропией - PullRequest
0 голосов
/ 01 февраля 2019

Я использую Keras для выполнения пиксельной мультиклассовой классификации во многих 2D-изображениях 256x256.Из-за количества данных и классов, которые у меня есть (32), я использую генератор изображений для подачи данных в сеть во время обучения.Основное назначение генератора - горячее кодирование моей основной истины, размер которой в итоге равен 256x256x32 (если я попытаюсь выполнить предварительное горячее кодирование, я получаю ошибку OOM).

Однако, когда я пытаюсьПри использовании настройки class_weight при подгонке моей модели я получаю сообщение об ошибке, в котором говорится, что она не поддерживает 3+ размерные цели.Я уже сгладил свои изображения, поэтому на выходе получается размер (размер пакета 65536,32).Я не понимаю, как я должен сделать их 2D.Я не могу использовать параметр sample_weight, потому что model.fit_generator не имеет этого параметра.

Вот код для моего генератора данных.

def generator(features, labels, batch_size):
# Create empty arrays to contain batch of features and labels#
batch_features = np.zeros((batch_size, 256, 256, 1))
batch_labels = np.zeros((batch_size,256*256,32))
while True:
    for i in range(batch_size):
        # choose random index in features
        #index= random.choice(len(features),1)
        index=i
        batch_features[i] = features[index]
        batch_labels[i] = keras.utils.to_categorical(labels[index],num_classes=32)
    yield batch_features, batch_labels

1 Ответ

0 голосов
/ 15 августа 2019

Вы можете использовать выборочные веса в своем генераторе (пользовательские) в соответствии с документацией

генератор: генератор или экземпляр объекта Sequence (keras.utils.Sequence) для того, чтобыИзбегайте дублирования данных при использовании многопроцессорной обработки.Выход генератора должен быть либо

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