Spec-Zone.ru › TensorFlow 1.15

tf.keras.optimizers.Adagrad

Просмотреть исходный код на GitHub

Оптимизатор, реализующий алгоритм Adagrad.

Наследуется от: Optimizer

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.optimizers.Adagrad, `tf.compat.v2.keras.optimizers.Adagrad`, `tf.compat.v2.optimizers.Adagrad`

tf.keras.optimizers.Adagrad(
    learning_rate=0.001, initial_accumulator_value=0.1, epsilon=1e-07,
    name='Adagrad', **kwargs
)

Adagrad — это оптимизатор с параметрически-специфическими скоростями обучения, которые адаптируются относительно частоты обновления параметра во время обучения. Чем больше обновлений получает параметр, тем меньше обновления.

Инициализация:

$$accum_{g_0} := \text{initial_accumulator_value}$$

Шаг обновления:

$$t := t + 1$$
$$accum_{g_t} := accum_{g_{t-1} } + g^2$$
$$\theta_t := \theta_{t-1} - lr * g / (\sqrt{accum_{g_t} } + \epsilon)$$

Ссылки:

  • Статья.
  • Введение.
Аргументы
learning_rate Значение типа `Tensor` или число с плавающей точкой. Скорость обучения.
initial_accumulator_value Значение с плавающей точкой. Начальное значение для аккумуляторов, должно быть неотрицательным.
epsilon Малое значение с плавающей точкой для предотвращения нулевого знаменателя.
name Необязательное префиксное имя для операций, созданных при применении градиентов. По умолчанию "Adagrad".
**kwargs дополнительные ключевые аргументы. Разрешено быть {clipnorm, clipvalue, lr, decay}. clipnorm — это ограничение градиентов по норме; clipvalue — это ограничение градиентов по значению, decay включено для обратной совместимости, чтобы разрешить обратное обратное затухание скорости обучения. lr включено для обратной совместимости, рекомендуется использовать learning_rate вместо этого.
Исключения
ValueError Если значение initial_accumulator_value или epsilon недопустимо.
Атрибуты
iterations Переменная. Количество шагов обучения, которые выполнил этот оптимизатор.
weights Возвращает переменные этого оптимизатора в порядке их создания.

Методы

add_slot

Просмотреть исходный код

add_slot(
    var, slot_name, initializer='zeros'
)

Добавляет новую переменную слота для var.

add_weight

Просмотреть исходный код

add_weight(
    name, shape, dtype=None, initializer='zeros', trainable=None,
    synchronization=tf.VariableSynchronization.AUTO,
    aggregation=tf.VariableAggregation.NONE
)

apply_gradients

Просмотреть исходный код

apply_gradients(
    grads_and_vars, name=None
)

Применяет градиенты к переменным.

Это вторая часть minimize(). Она возвращает операцию, которая применяет градиенты.

Аргументы
grads_and_vars Список пар (градиент, переменная).
name Необязательное имя возвращаемой операции. По умолчанию, имя переданное конструктору Optimizer.
Возвращает
Операция, применяющая заданные градиенты. Значение iterations автоматически увеличивается на 1.
Исключения
TypeError Если grads_and_vars имеет неправильный формат.
ValueError Если ни у одной из переменных нет градиентов.

from_config

Просмотреть исходный код

@classmethod
from_config(
    config, custom_objects=None
)

Создает оптимизатор из его конфигурации.

Этот метод является обратным к get_config, способным восстановить тот же оптимизатор из словаря конфигурации.

Аргументы
config Словарь Python, обычно результат вызова get_config.
custom_objects Словарь Python, сопоставляющий имена с дополнительными Python-объектами, используемыми для создания этого оптимизатора, например, функцией, используемой для гиперпараметра.
Возвращает
Экземпляр оптимизатора.

get_config

Просмотреть исходный код

get_config()

Возвращает конфигурацию оптимизатора.

Конфигурация оптимизатора — это словарь Python (сериализуемый), содержащий конфигурацию оптимизатора. Этот же оптимизатор можно повторно создать позже (без сохраненных состояний) из этой конфигурации.

Возвращает
Словарь Python.

get_gradients

Просмотреть исходный код

get_gradients(
    loss, params
)

Возвращает градиенты loss по отношению к params.

Аргументы
loss Тензор потерь.
params Список переменных.
Возвращает
Список тензоров градиента.
Исключения
ValueError В случае, если какой-либо градиент не может быть вычислен (например, если функция градиента не реализована).

get_slot

Просмотреть исходный код

get_slot(
    var, slot_name
)

get_slot_names

Просмотреть исходный код

get_slot_names()

Список имён слотов этого оптимизатора.

get_updates

Просмотреть исходный код

get_updates(
    loss, params
)

get_weights

Просмотреть исходный код

get_weights()

minimize

Просмотреть исходный код

minimize(
    loss, var_list, grad_loss=None, name=None
)

Минимизирует loss путём обновления var_list.

Этот метод просто вычисляет градиент с помощью tf.GradientTape и вызывает apply_gradients(). Если вы хотите обработать градиент перед применением, то вызовите tf.GradientTape и apply_gradients() явно вместо использования этой функции.

Аргументы
loss Функция без аргументов, возвращающая значение для минимизации.
var_list список или кортеж объектов Variable для обновления, чтобы минимизировать loss, или функция, возвращающая список или кортеж объектов Variable . Используйте функцию, когда список переменных был бы неполным перед minimize, так как переменные создаются при первом вызове loss .
grad_loss Необязательно. Объект Tensor, содержащий градиент, вычисленный для loss.
name Необязательное имя возвращаемой операции.
Возвращает
Операцию, которая обновляет переменные в var_list. Если global_step не было None, эта операция также увеличивает global_step.
Возможные исключения
ValueError Если некоторые переменные не являются объектами Variable.

set_weights

Посмотреть исходный код

set_weights(
    weights
)

variables

Посмотреть исходный код

variables()

Возвращает переменные этого оптимизатора в порядке их создания.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/optimizers/Adagrad

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API