Эпохи и итерации в Deeplearning4j

Недавно я начал изучать Deeplearning4j и не понимаю, как на самом деле реализуется концепция эпох и итераций. В онлайн-документации сказано:

эпоха - это полный проход через данный набор данных ...
Не путать с итерацией, которая представляет собой просто одно обновление параметров модели нейронной сети.

Я провел обучение с использованием MultipleEpochsIterator, но для первого запуска я установил 1 эпоху, miniBatchSize = 1 и набор данных из 1000 выборок, поэтому я ожидал, что обучение завершится через 1 эпоху и 1000 итераций, но после более чем 100000 итераций это было Все еще работает.

int nEpochs = 1;
int miniBatchSize = 1;

MyDataSetFetcher fetcher = new MyDataSetFetcher(xDataDir, tDataDir, xSamples, tSamples);
//The same batch size set here was set in the model
BaseDatasetIterator baseIterator = new BaseDatasetIterator(miniBatchSize, sampleSize, fetcher);

MultipleEpochsIterator iterator = new MultipleEpochsIterator(nEpochs, baseIterator);
model.fit(iterator)

Затем я провел дополнительные тесты, изменяя размер пакета, но это не изменило частоту строк журнала, выводимых IterationListener. Я имею в виду, что я думал, что если я увеличу размер пакета до 100, то с 1000 выборками у меня будет всего 10 обновлений параметров, то есть всего 10 итераций, но журналы и интервалы временных меток более или менее одинаковы.

КСТАТИ. Есть аналогичный вопрос, но ответ на самом деле не отвечает на мой вопрос, я хотел бы лучше понять фактические детали: Deeplearning4j: Iterations, Epochs и ScoreIterationListener


person FluidCode    schedule 10.05.2018    source источник
comment
Думаю, ваш ответ можно найти на странице stackoverflow.com/questions/4752626/   -  person Phil Troy    schedule 14.05.2018


Ответы (1)


Все это не будет иметь значения после 1.x (который уже вышел в альфа-версии) - мы давно избавились от итераций.

Первоначально это был сокращенный синтаксис, чтобы людям не приходилось писать для циклов.

Просто сосредоточьтесь на циклах for с эпохами.

person Adam Gibson    schedule 15.05.2018