tf.contrib.opt.ExternalOptimizerInterface
Базовый класс для интерфейсов с внешними алгоритмами оптимизации.
tf.contrib.opt.ExternalOptimizerInterface(
loss, var_list=None, equalities=None, inequalities=None, var_to_bounds=None,
**optimizer_kwargs
)
Подклассируйте этот класс и реализуйте _minimize для обертывания нового алгоритма оптимизации.
ExternalOptimizerInterface не следует создавать напрямую; используйте, например, ScipyOptimizerInterface.
| Аргументы | |
|---|---|
loss | Скалярная Tensor, подлежащая минимизации. |
var_list | Необязательный список объектов Variable, которые необходимо обновить для минимизации loss. По умолчанию список переменных, собранных в графе под ключом GraphKeys.TRAINABLE_VARIABLES. |
equalities | Необязательный список скалярных Tensor ограничений равенства, которые должны быть равны нулю. |
inequalities | Необязательный список скалярных Tensor ограничений неравенства, которые должны быть неотрицательными. |
var_to_bounds | Необязательный словарь, где каждый ключ — это оптимизационная Variable, а каждое соответствующее значение — кортеж длиной 2 с (low, high) ограничениями. Несмотря на то, что наложение такого простого ограничения можно выполнить с помощью аргумента inequalities, не все алгоритмы оптимизации поддерживают общие ограничения неравенства, например, L-BFGS-B. И low, и high могут быть числами или чем-либо, преобразуемым в массив NumPy, который можно транслировать к форме var (используя np.broadcast_to). Для обозначения отсутствия ограничения используйте None (или +/- np.infty). Например, если var является матрицей 2x3, то можно предоставить любые соответствующие bounds:
|
**optimizer_kwargs | Другие аргументы ключевых слов, специфичные для подкласса. |
Методы
minimize
minimize(
session=None, feed_dict=None, fetches=None, step_callback=None,
loss_callback=None, **run_kwargs
)
Минимизировать скалярную Tensor.
Переменные, подлежащие оптимизации, обновляются непосредственно по окончании оптимизации.
Обратите внимание, что этот метод не просто возвращает минимизацию Op, в отличие от Optimizer.minimize(); вместо этого он фактически выполняет минимизацию, выполняя команды для управления Session.
| Аргументы | |
|---|---|
session | Экземпляр Session . |
feed_dict | Словарь feed для передачи в вызовы session.run. |
fetches | Список Tensor для извлечения и передачи в loss_callback в качестве позиционных аргументов. |
step_callback | Функция, которая вызывается на каждом шаге оптимизации; аргументами являются текущие значения всех переменных оптимизации, сглаженные в один вектор. |
loss_callback | Функция, которая вызывается каждый раз при вычислении потери и градиентов, с вычисленными значениями, предоставленными в качестве позиционных аргументов. |
**run_kwargs | Параметры kwargs для передачи в session.run. |
© 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/contrib/opt/ExternalOptimizerInterface