Spec-Zone.ru › TensorFlow 1.15

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:
  • (0, np.infty): Каждый элемент var должен быть положительным.
  • (-np.infty, [1, 2]): Первый столбец меньше 1, второй столбец меньше 2.
  • (-np.infty, [[1], [2], [3]]): Первая строка меньше 1, вторая строка меньше 2 и т. д.
  • (-np.infty, [[1, 2, 3], [4, 5, 6]]): Элемент var[0, 0] меньше 1, var[0, 1] меньше 2 и т. д.
**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

Spec-Zone.ru

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