tf.keras.Optimizer
Класс для оптимизаторов Tensorflow.
tf.keras.Optimizer(
*args, **kwargs
)
Основное изменение поведения этого класса относится к tf.distribute.
Он переопределяет методы из базового оптимизатора Keras core, которые предоставляют функциональность, специфичную для распределения, например, создание переменных, уменьшение потерь и т.д.
| Атрибуты | |
|---|---|
learning_rate | |
variables | |
Методы
add_variable
add_variable(
shape,
initializer='zeros',
dtype=None,
aggregation='mean',
name=None
)
add_variable_from_reference
add_variable_from_reference(
reference_variable, name=None, initializer='zeros'
)
Добавляет переменную, заполненную нулями, с формой и типом данных переменной-справочника.
apply
apply(
grads, trainable_variables=None
)
Обновляет обучаемые переменные в соответствии с предоставленными значениями градиентов.
grads должна быть списком тензоров градиента с взаимно однозначным соответствием списку переменных, с которыми был построен оптимизатор.
trainable_variables могут быть предоставлены при первом вызове для построения оптимизатора.
apply_gradients
apply_gradients(
grads_and_vars
)
assign
assign(
variable, value
)
Назначает значение переменной.
Это следует использовать в оптимизаторах вместо variable.assign(value), чтобы поддерживать оптимизации, специфичные для бэкенда. Обратите внимание, что переменная может быть переменной модели или переменной оптимизатора; она может быть переменной, собственной для бэкенда, или переменной Keras.
| Аргументы | |
|---|---|
variable | Переменная для обновления. |
value | Значение, которое нужно добавить к переменной. |
assign_add
assign_add(
variable, value
)
Добавляет значение к переменной.
Это следует использовать в оптимизаторах вместо variable.assign_add(value), чтобы поддерживать оптимизации, специфичные для бэкенда. Обратите внимание, что переменная может быть переменной модели или переменной оптимизатора; она может быть переменной, собственной для бэкенда, или переменной Keras.
| Аргументы | |
|---|---|
variable | Переменная для обновления. |
value | Значение, которое нужно добавить к переменной. |
assign_sub
assign_sub(
variable, value
)
Вычитает значение из переменной.
Это следует использовать в оптимизаторах вместо variable.assign_sub(value), чтобы поддерживать оптимизации, специфичные для бэкенда. Обратите внимание, что переменная может быть переменной модели или переменной оптимизатора; она может быть переменной, собственной для бэкенда, или переменной Keras.
| Аргументы | |
|---|---|
variable | Переменная для обновления. |
value | Значение, которое нужно добавить к переменной. |
build
build(
variables
)
exclude_from_weight_decay
exclude_from_weight_decay(
var_list=None, var_names=None
)
Исключает переменные из расчета распада весов.
Этот метод должен быть вызван до вызова метода build оптимизатора. Вы можете указать конкретные переменные для исключения или задать список строковых анкеров, если любой из них встречается в имени переменной, то переменная исключается.
| Аргументы | |
|---|---|
var_list | Список Variable, которые нужно исключить из расчета распада весов. |
var_names | Список строк. Если какая-либо строка в var_names встречается в имени переменной модели, то эта переменная модели исключается из расчета распада весов. Например, var_names=['bias'] исключает все переменные смещения из расчета распада весов. |
finalize_variable_values
finalize_variable_values(
var_list
)
Устанавливает окончательные значения обучаемых переменных модели.
Иногда перед завершением обновления переменных выполняются дополнительные шаги, например, переопределение переменных модели их средним значением.
| Аргументы | |
|---|---|
var_list | список переменных модели. |
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. |
load_own_variables
load_own_variables(
store
)
Устанавливает состояние объекта оптимизатора.
save_own_variables
save_own_variables(
store
)
Получить состояние этого объекта оптимизатора.
scale_loss
scale_loss(
loss
)
Масштабировать потерю перед вычислением градиентов.
Масштабирует потерю перед вычислением градиентов в train_step. Это в первую очередь полезно при обучении с использованием смешанной точности, чтобы предотвратить численный подтек.
set_weights
set_weights(
weights
)
Установить веса оптимизатора.
stateless_apply
stateless_apply(
optimizer_variables, grads, trainable_variables
)
update_step
update_step(
gradient, variable, learning_rate
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/Optimizer