Эпоха BrainScript в CNTK
Для Python пользователей см. здесь.
Количество выборок меток (тензоров вдоль динамической оси) в каждой эпохе. В epochSize
CNTK количество выборок меток, после чего выполняются конкретные дополнительные действия, включая
- сохранение модели контрольных точек (обучение можно перезапустить отсюда)
- перекрестная проверка;
- Управление скоростью обучения
- мини-масштабирование
Обратите внимание, что определение количества выборок меток аналогично количеству выборок, используемых для minibatchSize (minibatch_size_in_samples). Определение epochSize
отличается от определения minitbatchSize
в том смысле, что epochSize
это примеры меток , а не входные образцы.
Поэтому, что важно, для последовательных данных образец является отдельным элементом последовательности.
Таким образом, CNTK epochSize
не относится к ряду последовательностей, а к элементампоследовательности в метках последовательности, составляющих мини-пакет.
Кроме того, это выборки меток , а не входные выборки, а количество меток на последовательность не обязательно является числом входных выборок. Например, можно иметь одну метку для каждой последовательности и для каждой последовательности иметь много выборок (в этом случае действует как число последовательностей), и можно иметь одну метку для каждой выборки в последовательности, в этом случае epochSize
epochSize
выполняется точно так же, как minibatchSize
в том, что каждый пример (не последовательность) подсчитывается.
Для небольших размеров наборов epochSize
данных часто устанавливается равный размеру набора данных. В BrainScript можно указать 0, чтобы обозначить это. В Python это можно указатьcntk.io.INFINITELY_REPEAT
. Только в Python можно задать для него место cntk.io.FULL_DATA_SWEEP
остановки обработки после одного прохода всего размера данных.
Для больших наборов данных может потребоваться руководство по выбору для epochSize путем создания контрольных точек. Например, если вы хотите потерять не более 30 минут вычислений в случае сбоя питания или сбоя сети, необходимо создать контрольную точку примерно каждые 30 минут (с которой можно возобновить обучение). Выберите epochSize
количество выборок, которое занимает около 30 минут для вычисления.