РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
349 of 824 menu

Атрибут iterations

Атрибут iterations класса Optimizer возвращает количество шагов обновления весов, которые выполнил оптимизатор. Значение атрибута увеличивается на единицу при каждом вызове метода apply_gradients или minimize. Атрибут доступен только для чтения и представляет собой тензор целочисленного типа. Его удобно использовать для отслеживания прогресса обучения, расписаний скорости обучения и логирования.

Синтаксис

optimizer.iterations

Пример

Давайте создадим оптимизатор и посмотрим на начальное значение атрибута iterations:

import tensorflow as tf optimizer = tf.keras.optimizers.SGD(learning_rate=0.1) print(optimizer.iterations)

Результат выполнения кода:

<tf.Variable 'SGD/iterations:0' shape=() dtype=int64, numpy=0>

Пример

Давайте выполним несколько шагов обновления весов и убедимся, что атрибут iterations увеличивается:

import tensorflow as tf t = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0]) optimizer = tf.keras.optimizers.SGD(learning_rate=0.1) for _ in range(3): grads = tf.constant([0.1, 0.1, 0.1, 0.1, 0.1]) optimizer.apply_gradients(zip([grads], [t])) print(optimizer.iterations.numpy())

Результат выполнения кода:

1 2 3

Пример

Давайте используем атрибут iterations для изменения скорости обучения в зависимости от прогресса:

import tensorflow as tf t = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0]) optimizer = tf.keras.optimizers.SGD(learning_rate=0.1) for _ in range(3): grads = tf.constant([0.1, 0.1, 0.1, 0.1, 0.1]) optimizer.apply_gradients(zip([grads], [t])) step = optimizer.iterations.numpy() new_lr = 0.1 / (1.0 + 0.5 * step) optimizer.learning_rate.assign(new_lr) print(f"step={step}, lr={new_lr:.4f}")

Результат выполнения кода:

step=1, lr=0.0667 step=2, lr=0.0500 step=3, lr=0.0400

Смотрите также

  • класс Optimizer,
    который управляет обновлением весов модели
  • метод apply_gradients,
    который применяет градиенты к переменным
  • метод minimize,
    который выполняет шаг оптимизации функции потерь
  • атрибут learning_rate,
    который задает скорость обучения оптимизатора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить