Может ли валидация в keras.fit работать в многопроцессорном режиме, чтобы ускорить процесс? - PullRequest
0 голосов
/ 12 апреля 2020

Я практикую коды в главе 6 в «Углубленное изучение с Python» (Франсуа Шоле). Все работает на colab, но проверка занимает очень много времени.

Здесь я показываю только те коды, которые имеют отношение к вопросу. Полный код можно найти в github автора

from tensorflow.keras.models import Sequential
from tensorflow.keras import layers
from tensorflow.keras.optimizers import RMSprop

lookback = 1440

model = Sequential()
model.add(layers.GRU(32, input_shape=(None, float_data.shape[-1])))
model.add(layers.Dense(1))

model.compile(optimizer=RMSprop(), loss="mae")

train_gen = {some generator function}
val_gen = {some generator function}

val_steps = (300000 - 200001 - lookback)

history = model.fit(train_gen, steps_per_epoch=500, epochs=20, validation_data=val_gen, validation_steps=val_steps)

Обучение заняло несколько секунд, но проверка занимала 20 минут на каждую эпоху, потому что из них 98559 шагов.

screenshot

Я пытался использовать "use_multiprocessing = True", как в:

history = model.fit(..., use_multiprocessing=True)

или "работники = 10", как в:

history = model.fit(..., workers=10)

Но они не помогли и заняли еще больше времени.

Поэтому мне интересно, есть ли способы ускорить проверку?

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