Spec-Zone.ru › TensorFlow 1.15

tf.keras.optimizers.Adam

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

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

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

Псевдонимы

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

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

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

tf.keras.optimizers.Adam(
    learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-07, amsgrad=False,
    name='Adam', **kwargs
)

Оптимизация Adam — это метод стохастического градиентного спуска, основанный на адаптивном оценивании моментов первого и второго порядка. Согласно статье Adam: A Method for Stochastic Optimization. Kingma et al., 2014, этот метод «вычислительно эффективен, имеет малые требования к памяти, инвариантен к диагональному масштабированию градиентов и хорошо подходит для задач, больших по объёму данных/параметров».

Для AMSGrad см. On The Convergence Of Adam And Beyond. Reddi et al., 5-8.

Аргументы
learning_rate Тензор или значение с плавающей запятой. Скорость обучения.
beta_1 Значение с плавающей запятой или постоянный тензор с плавающей запятой. Экспоненциальная скорость затухания для оценок моментов первого порядка.
beta_2 Значение с плавающей запятой или постоянный тензор с плавающей запятой. Экспоненциальная скорость затухания для оценок моментов второго порядка.
epsilon Небольшая константа для обеспечения числовой устойчивости. Эта величина ε — это «ε шляпа» в работе Кингмы и Ба (в формуле перед разделом 2.1), а не ε в алгоритме 1 статьи.
amsgrad Булево значение. Применять ли вариант AMSGrad этого алгоритма из статьи «On the Convergence of Adam and beyond».
name Необязательное имя для операций, созданных при применении градиентов. По умолчанию равно «Adam».
**kwargs Дополнительные ключевые аргументы. Допускаются {clipnorm, clipvalue, lr, decay}. clipnorm — ограничение градиентов по норме; clipvalue — ограничение градиентов по значению, decay — включено для обратной совместимости, чтобы позволить обратное затухание скорости обучения. lr — включено для обратной совместимости, рекомендуется использовать learning_rate вместо этого.
Атрибуты
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/Adam

Spec-Zone.ru

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