当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.assert_none_equal用法及代码示例


断言条件 x != y 保持元素。

用法

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

参数

  • x 数字 Tensor
  • y 数字 Tensor ,与 x 相同的 dtype 并可广播到 x
  • data 如果条件为 False,则打印出的张量。默认为错误消息和 x , y 的前几个条目。
  • summarize 打印每个张量的这么多条目。
  • message 默认消息的前缀字符串。
  • name 此操作的名称(可选)。默认为"assert_none_equal"。

返回

  • 如果 x != y 为 False,则引发 InvalidArgumentError 的操作。

抛出

  • InvalidArgumentError 如果可以立即执行检查并且 x != y 为 False。检查可以在即刻执行期间立即执行,或者如果 xy 是静态已知的。

迁移到 TF2

警告:这个 API 是为 TensorFlow v1 设计的。继续阅读有关如何从该 API 迁移到本机 TensorFlow v2 等效项的详细信息。见TensorFlow v1 到 TensorFlow v2 迁移指南有关如何迁移其余代码的说明。

tf.compat.v1.assert_none_equal 与即刻执行和 tf.function 兼容。迁移到 TF2 时,请改用tf.debugging.assert_none_equal。除了 data 之外,所有参数都支持相同的参数名称。

如果要确保断言语句在 potentially-invalid 计算之前运行,请使用 tf.control_dependencies ,因为 tf.function auto-control 依赖项对于断言语句来说是不够的。

到原生 TF2 的结构映射

前:

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

后:

tf.debugging.assert_none_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_none_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:[2, 1]})

特遣部队2:

a = tf.Variable([1, 2], dtype=tf.float32)
b = tf.Variable([2, 1], dtype=tf.float32)
assert_op = tf.debugging.assert_none_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] ,则此条件成立。如果 xy 都是空的,这很容易满足。

在图形模式下运行时,您应该添加对此操作的依赖以确保它运行。将依赖项添加到操作的示例:

with tf.control_dependencies([tf.compat.v1.assert_none_equal(x, y)]):
  output = tf.reduce_sum(x)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.assert_none_equal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。