А что делать, если данных много, например 400 Гб? Получаеться надо как то тренировать пачками, прошел все файлы, удаляй и загружай новые? В принципе если разделить все данные на равные части и после каждой эпохи менять/загружать новую часть, то почти ничего не измениться, разве то что например 10 эпох — это будет по сути одна эпоха. Может еще будет хуже сходимость, поскольку данные не перемешиваються между частями. Ну и код будет тяжелее писать, хотя не всегда.
Есть такой старенький инструмент https://github.com/google/REAPER который выдает файл с таймингами, где есть речь а где нет.