Мне нужно использовать разминку скорости обучения, когда вы начинаете тренировку VGG-19 CNN для CIFAR-10 с разминкой со скоростью обучения от 0,00001 до 0,1 в течение первых 10000 итераций (или примерно 13 эпох) с использованием разминки скорости обучения. А затем для оставшейся части обучения вы используете скорость обучения 0,01, где спад скорости обучения используется для уменьшения скорости обучения в 10 раз в 80 и 120 эпох. Модель должна быть обучена в течение 144 эпох.
Я использую Python 3 и TensorFlow2, где обучающий набор данных содержит 50000 примеров и размер пакета = 64. Количество итераций обучения за одну эпоху = 50000 / 64 = 781 итерация (приблизительно). Как я могу использовать в коде одновременно разминку скорости обучения и снижение скорости обучения?
В настоящее время я использую снижение скорости обучения по:
boundaries = [100000, 110000]
values = [1.0, 0.5, 0.1]
learning_rate_fn = keras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values)
print("\nCurrent step value: {0}, LR: {1:.6f}\n".format(optimizer.iterations.numpy(), optimizer.learning_rate(optimizer.iterations)))
Однако я не Я не знаю, как использовать разминку скорости обучения вместе со снижением скорости обучения.
Помощь?