tf.debugging.assert_none_equal

Assert the condition x != y holds element-wise.

This Op checks that x[i] != y[i] holds for every pair of (possibly broadcast) elements of x and y. If both x and y are empty, this is trivially satisfied.

If x != y does not hold, message, as well as the first summarize entries of x and y are printed, and InvalidArgumentError is raised.

When using inside tf.function, this API takes effects during execution. It's recommended to use this API with tf.control_dependencies to ensure the correct execution order.

In the following example, without tf.control_dependencies, errors may not be raised at all. Check tf.control_dependencies for more details.

def check_size(x):
  with tf.control_dependencies([
      tf.debugging.assert_none_equal(tf.size(x), 6,
                      message='Bad tensor size')]):
    return x
check_size(tf.ones([2, 3], tf.float32))
Traceback (most recent call last):

InvalidArgumentError: ...

xNumeric Tensor.
yNumeric Tensor, same dtype as and broadcastable to x.
messageA string to prefix to the default message. (optional)
summarizePrint this many entries of each tensor. (optional)
nameA name for this operation (optional). Defaults to "assert_none_equal".

Op that raises InvalidArgumentError if x != y is False. This can be used with tf.control_dependencies inside of tf.functions to block followup computation until the check has executed.

InvalidArgumentErrorif the check can be performed immediately and x == y is False. The check can be performed immediately during eager execution or if x and y are statically known.

eager compatibility

returns None