Spec-Zone.ru › TensorFlow 1.15

tf.keras.optimizers.SGD

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

Оптимизатор стохастического градиентного спуска и импульса.

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

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

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

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

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

tf.keras.optimizers.SGD(
    learning_rate=0.01, momentum=0.0, nesterov=False, name='SGD', **kwargs
)

Вычисляет:

theta(t+1) = theta(t) - learning_rate * gradient
gradient is evaluated at theta(t).

или Вычисляет (если nesterov = False):

v(t+1) = momentum * v(t) - learning_rate * gradient
theta(t+1) = theta(t) + v(t+1)
if `nesterov` is False, gradient is evaluated at theta(t).
if `nesterov` is True, gradient is evaluated at theta(t) + momentum * v(t),
  and the variables always store theta + m v instead of theta

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

Ссылки

nesterov = True, See [Sutskever et al., 2013](
  http://jmlr.org/proceedings/papers/v28/sutskever13.pdf).
Аргументы
learning_rate Гиперпараметр с плавающей точкой >= 0. Скорость обучения.
momentum Гиперпараметр с плавающей точкой >= 0, ускоряющий SGD в соответствующем направлении и уменьшающий колебания.
nesterov Булево значение. Применять ли импульс Нестерова.
name Необязательное префиксное имя для операций, созданных при применении градиентов. По умолчанию «SGD».
**kwargs Аргументы ключевых слов. Допустимые значения — {clipnorm, clipvalue, lr, decay}. clipnorm — ограничение градиентов по норме; clipvalue — ограничение градиентов по значению, decay включено для обратной совместимости, чтобы разрешить обратное экспоненциальное уменьшение скорости обучения. lr включено для обратной совместимости; рекомендуется использовать learning_rate вместо него.

Совместимость с Eager

При включенном режиме Eager execution, 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/SGD

Spec-Zone.ru

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