Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.assert_greater_equal

Утверждение условия x >= y выполняется поэлементно.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.debugging.assert_greater_equal

tf.compat.v1.assert_greater_equal(
    x, y, data=None, summarize=None, message=None, name=None
)

Мигрировать в TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение для получения подробностей о том, как мигрировать с этого API на эквивалент TensorFlow v2. См. руководство по миграции TensorFlow v1 в TensorFlow v2 для получения инструкций по миграции остальной части вашего кода.

tf.compat.v1.assert_greater_equal совместим с жадной выполнением и tf.function. При миграции в TF2 используйте tf.debugging.assert_greater_equal вместо этого. Кроме data, все аргументы поддерживаются с тем же именем аргумента.

Если вы хотите убедиться, что операторы assert выполняются до потенциально недопустимого вычисления, используйте tf.control_dependencies, так как автоматические зависимости управления tf.function недостаточны для операторов assert.

Структурное отображение на родной TF2

До:

tf.compat.v1.assert_greater_equal(
  x=x, y=y, data=data, summarize=summarize,
  message=message, name=name)

После:

tf.debugging.assert_greater_equal(
  x=x, y=y, message=message,
  summarize=summarize, name=name)

Пример использования TF1 и TF2

TF1:

g = tf.Graph()
with g.as_default():
  a = tf.compat.v1.placeholder(tf.float32, [2])
  b = tf.compat.v1.placeholder(tf.float32, [2])
  result = tf.compat.v1.assert_greater_equal(a, b,
    message='"a >= b" does not hold for the given inputs')
  with tf.compat.v1.control_dependencies([result]):
    sum_node = a + b
sess = tf.compat.v1.Session(graph=g)
val = sess.run(sum_node, feed_dict={a: [1, 2], b:[1, 0]})

TF2:

a = tf.Variable([1, 2], dtype=tf.float32)
b = tf.Variable([1, 0], dtype=tf.float32)
assert_op = tf.debugging.assert_greater_equal(a, b, message=
  '"a >= b" does not hold for the given inputs')
# When working with tf.control_dependencies
with tf.control_dependencies([assert_op]):
  val = a + b

Описание

Это условие выполняется, если для каждой пары (возможно, векторизованных) элементов x[i], y[i], у нас есть x[i] >= y[i]. Если оба x и y пустые, это выполняется тривиально.

При выполнении в режиме графа вы должны добавить зависимость от этой операции, чтобы убедиться, что она выполняется. Пример добавления зависимости к операции:

with tf.control_dependencies([tf.compat.v1.assert_greater_equal(x, y)]):
  output = tf.reduce_sum(x)
Аргументы
x Численные Tensor.
y Численные Tensor, того же типа, что и x, и векторизуемые до него.
data Тензоры, которые необходимо вывести, если условие ложно. По умолчанию это сообщение об ошибке и первые несколько элементов x, y.
summarize Выводить столько элементов каждого тензора.
message Строка для добавления в префикс к стандартному сообщению.
name Имя для этой операции (необязательно). По умолчанию "assert_greater_equal".
Возвращает
Операция, которая вызывает InvalidArgumentError если x >= y ложно.
Возбуждает исключения
InvalidArgumentError если проверку можно выполнить немедленно, и x >= y ложно. Проверка может быть выполнена немедленно во время жадной выполнения или если x и y статически известны.

© 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/versions/r2.9/api_docs/python/tf/compat/v1/assert_greater_equal

Spec-Zone.ru

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