Избегайте ошибок OOM в Keras: можно ли производить выборки партий, чтобы они помещались в память? - PullRequest
0 голосов
/ 15 января 2020

Я столкнулся с ошибкой OOM с Keras. Однако я не хочу уменьшать размер пакета, потому что сеть будет слишком нестабильной. Можно ли сделать выборку из партии размером 128 в куски по 8, рассчитать потери и рассчитать градиенты после прохождения 16x8 = 128 образцов? Таким образом, это позволит избежать подгонки всех 128 экземпляров, но все равно будет обновлять каждые 128 экземпляров.

test_generator = image_generator.flow_from_dataframe(
    dataframe=testing,
    directory=None,
    x_col='FILEPATH',
    y_col='category',
    class_mode="categorical",
    batch_size=8,
    target_size=(256,256),
    color_mode='rgb',
    shuffle=False,
    seed=5
)

history = model.fit_generator(
    train_generator,
    epochs = 50,
    steps_per_epoch = train_generator.n//train_generator.batch_size,
    validation_data = val_generator,
    validation_steps = val_generator.n//val_generator.batch_size
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...