Отправка пакетов данных в fit_generator - PullRequest
0 голосов
/ 14 марта 2020

Я хочу передать генератор в fit_generator, который будет давать многомерные массивы x и y в пакетном режиме. х имеет размерность (1000000, 200), а у - (1000000, 2000). Я делаю покадровую классификацию. Мой текущий код выглядит следующим образом:

def my_generator():

    current = 0
    batch_size = 500
    for i in range(current, 1000000, batch_size):
        x_batch =x[i, :]
        y_batch=y[i, :]
        yield(x_batch, y_batch)

model.fit_generator(generator=(my_generator()), steps_per_epoch=2000, epochs=1, validation_data=(x_val, y_val))

Но я не верю, что отправляю функции fit_generator правильные размеры пакетов или что мой код неверен. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 14 марта 2020

Прямо сейчас вы принимаете партии размером 1 с x и y. Чтобы получить полноразмерные партии, измените эти строки

        x_batch = x[i, :]
        y_batch = y[i, :]

на эту

        x_batch = x[i:i + batch_size, :]
        y_batch = y[i:i + batch_size, :]

Это займет срез от i до (но не включая) i + batch_size, вместо того, чтобы просто брать фрагмент одного массива.

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