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