Spec-Zone.ru › TensorFlow 1.15

tf.contrib.eager.metrics.Метрика

Метрика хранит состояние для агрегирования статистических данных за период оценки.

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

tf.contrib.eager.metrics.Metric(
    name=None, use_global_variables=False
)

Пример использования с быстрым выполнением:

m = SomeMetric(...)
for input in ...:
  m(input)
print(m.result())

Пример использования с выполнением в графе:

m = SomeMetric(...)
inputs = ... # Some tensors to compute the metric on.
m_update = m(inputs)
# Variables defined in first call, so get the initialization op afterwards.
m_init = m.init_variables()  # or tf.compat.v1.global_variables_initializer()
m_result = m.result()
with tf.compat.v1.Session() as sess:
  sess.run(m_init)
  for input in ...:
    sess.run(m_update)
  print(sess.run(m_result))

Пример использования с выполнением в графе с заполнителями и feed_dict:

m = SomeMetric(...)
m_placeholder = tf.compat.v1.placeholder(...)
m_update = m(m_placeholder)
# Variables defined in first call, so get the initialization op afterwards.
m_init = m.init_variables()  # or tf.compat.v1.global_variables_initializer()
m_result = m.result()
with tf.compat.v1.Session() as sess:
  sess.run(m_init)
  for input in ...:
    sess.run(m_update, feed_dict={m_placeholder: input})
  print(sess.run(m_result))

Потомки должны реализовать:

  • build(): Все переменные должны быть созданы в этом методе, вызывая self.add_variable() так: self.var = self.add_variable(...) build() будет вызван при первом вызове __call__(), с теми же аргументами, что и call().
  • call(): Имеет все обновления переменных, как в: self.var.assign_add(...)
  • result(): Вычисляет и возвращает конечное значение метрики из переменных в self.

Потомки могут переопределить aggregate(), но обычно не нужно. Он добавляет состояние из списка метрик того же типа, что и self. (По умолчанию — суммирование всех переменных.) Обратите внимание, что пользователи не должны вызывать aggregate(), это используется инфраструктурой TensorFlow.

Атрибуты
name
variables

Методы

add_variable

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

add_variable(
    name, shape=None, dtype=None, initializer=None
)

Только для использования потомками Metric.

aggregate

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

aggregate(
    metrics
)

Добавляет состояние из списка метрик.

Реализация по умолчанию суммирует все переменные метрик.

Аргументы
metrics Список метрик того же типа, что и self.
Исключения
ValueError Если метрики содержат недопустимые данные.

build

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

build(
    *args, **kwargs
)

Метод для создания переменных.

Вызывается __call__() перед call() в первый раз.

Аргументы
*args
**kwargs Аргументы первого вызова __call__(). build() может использовать форму и/или тип этих аргументов при решении, как создать переменные.

call

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

call(
    *args, **kwargs
)

Накапливает статистику для метрики. Пользователи должны использовать call вместо этого.

Примечание: Эта функция выполняется как функция графа в режиме графа. Это означает: а) Операции с одним и тем же ресурсом выполняются в текстовом порядке. Это должно облегчить выполнение таких задач, как добавление обновлённого значения переменной к другой, например. б) Вам не нужно беспокоиться о сборе операций обновления для выполнения. Все операции обновления, добавленные в граф этой функцией, будут выполнены. В результате код, как правило, будет работать так же с выполнением в графе или с быстрым выполнением.
Аргументы
*args
**kwargs Минимальная партия входных данных для метрики, переданная в __call__().

init_variables

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

init_variables()

Инициализирует переменные этой метрики.

Должен вызываться после создания переменных при первом выполнении __call__(). Если используется выполнение в графе, возвращаемое значение должно быть run() в сессии перед запуском операции, возвращаемой __call__(). (См. пример выше.)

Возвращает
Если используется выполнение в графе, это возвращает операцию для выполнения инициализации. При быстром выполнении переменные сбрасываются до своих начальных значений как побочный эффект, и эта функция возвращает None.

result

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

result()

Вычисляет и возвращает конечное значение метрики.

value

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

value()

В режиме графа возвращает тензор результата, а в режиме eager — вызываемый объект.

__call__

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

__call__(
    *args, **kwargs
)

Возвращает операцию для выполнения, чтобы обновить эту метрику для этих входных данных.

Возвращает None, если включено быстрое выполнение. Возвращает функцию в режиме графа, если включено выполнение в графе.

Аргументы
*args
**kwargs Минимальная партия входных данных для метрики, передаваемая в call().

© 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/eager/metrics/Metric

Spec-Zone.ru

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