Как добавить вес для каждого примера тренировки во время тренировки в керасе - PullRequest
1 голос
/ 01 октября 2019

Я пытаюсь добавить вес для каждого наблюдения во время тренировки.
В зависимости от того, насколько сложно это наблюдение.
Примечание: я использую fit_generator

Я пытался построить новоегенератор, который генерирует (x, y, вес)

def ensembleCategoricalGenerator(generator, nBatches, batchSize):
    i = 0
    while i < nBatches:
        train_x, train_y = generator[i]
        yhat = classifier.predict(train_x)
        yTrue =  train_y[:, np.newaxis] # convert shape (batchSize,) to (batchSize, 1)
        result = yTrue == yhat.round()
        nCorrect = result.sum()
        correctWeight, incorrectWeight = .5/nCorrect, .5/(batchSize-nCorrect)
        weights = np.array([correctWeight if oneResult else incorrectWeight for oneResult in result])
        yield (train_x, train_y, weights)
        i = i + 1
#### End
ensembleGenerator = ensembleCategoricalGenerator(trainIterator,len(trainIterator), batchSize)
print(type(ensembleGenerator))
print(type(trainIterator))

Вывод: -

class 'generator'  
class 'keras_preprocessing.image.dataframe_iterator.DataFrameIterator'

Я ожидал, что fit_generator примет мой генератор, но это не сработало.

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