TensorFlow assert和布尔值检查函数

来源于 W3Cschool ,写到博客只是方便查看和记录,并且自己敲一边,为了速记。

tf.assert_negative

negative 的意思是对 x 的每个元素x[i] ,我们有 x[i] < 0.如果不满足,则抛出错误 InvalidArgumentError。如果x是空的,该条件很容易成立.

原型

assert_negative (
     x ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

  • x:数值张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为 “assert_negative”.

用例

import tensorflow as tf
x = [-1.4, -2]
sess = tf.Session()
with tf.control_dependencies([tf.assert_negative(x)]):
  output = tf.reduce_sum(x)
  print(sess.run(output))

tf.assert_positive

Positive 的意思是,对于 x 的每一个元素 x[i],我们有 x[i] > 0.如果x是空的,该条件很容易成立.

原型

assert_positive (
     x ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

  • x:数值张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为 “assert_positive”.

用例

with tf.control_dependencies([tf.assert_positive(x)]):
  output = tf.reduce_sum(x)

tf.assert_proper_iterable

静态断言值是“适当的”迭代.
期望张量可以迭代的 Ops 可以调用它来验证输入.由于张量、ndarray、byte / text 类型都是 iterables 本身,所以是有用的.

原型

assert_proper_iterable (values)

参数

  • values:要检查的对象.

用例

举:

  • TypeError:如果值不是迭代或者不是 Tensor、SparseTensor、np.array、 tf.compat.bytes_or_text_types 中的一个.

tf.assert_non_negative

断言条件 x >= 0 的持有元素.

原型

assert_non_negative (
     x ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为 “assert_non_negative”.

返回:

  • 提高 InvalidArgumentError 的操作,除非 x 都是是非负的.

用例

with tf.control_dependencies ([tf.assert_non_negative (x)]):
   output = tf.reduce_sum(x)

Non_negative 的意思是,对于 x 的每个元素 x[i] ,我们有 x[i] >= 0.如果 x 是空的,该条件很容易满足.

tf.assert_non_positive

断言条件x <= 0保持元素.

原型

assert_non_positive (
     x ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为 “assert_non_positive”.

返回:

  • 提高 InvalidArgumentError 的操作,除非 x 都是非正的.

用例

with tf.control_dependencies ([ tf.assert_non_positive (x)] ):   output = tf.reduce_sum (x)

Non-positive的意思是,对于每个元素 x[i],我们有 x[i] =0.如果 x 是空的,该条件很容易满足.

tf.assert_equal

断言条件 x == y 包含的元素.

原型

assert_equal (
      x ,
      y ,
      data = None ,
      summarize = None ,
      message = None ,
      name = None
  )

参数

参数:

  • x:数值张量.
  • y:数值张量,相同的 dtype 类型并且可广播到 x.
  • data:如果条件为假,打印出来张量.默认为错误消息和 x,y的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_equal”.

返回:

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

用例

with tf.control_dependencies ([tf.assert_equal (x ,y)] ):
 output = tf.reduce_sum (x)

如果对于每对(可能广播)元素 x[i],y[i] 来说该条件成立,我们有 x[i] == y[i].如果 x 和 y 都是空的,这很容易满足.

tf.assert_integer

原型

断言 x 是整数 dtype.

assert_integer (
     x ,
     message = None ,
     name = None
 )

参数

参数:

  • x:张量的 basetype 是整数并且未被量化.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为“assert_integer”.

注意:

  • TypeError:如果 x.dtype 是非量化整数的话.

返回:

  • 返回一个 no_op,它什么也不做,类型可以被定义为静态的.

用例

with tf.control_dependencies ([tf.assert_integer (x)] ):
   output = tf.reduce_sum (x)

tf.assert_less

断言条件 x < y 持有的元素.

原型

assert_less (
     x ,
     y ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • y:数值张量,相同的 dtype 并且可广播到 x.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x,y 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_less”.

返回:

  • 如果 x < y 是 False ,则引起 InvalidArgumentError 的操作.

用例

with tf.control_dependencies ([tf.assert_less (x,y)]):   output= tf.reduce_sum ( x )

如果对于每对(可能广播)元素 x[i],y[i],我们有 x[i] < y[i].如果 x 和 y 都是空的,则很容易满足条件

tf.assert_less_equal

断言条件 x <= y 的持有元素.

原型

assert_less_equal (
     x ,
     y ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • y:数值张量,相同的 dtype,并且可广播到 x.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x,y 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_less_equal”.

返回:

  • 如果 x <= y 是 False ,则引起 InvalidArgumentError 的操作.

用例

with tf.control_dependencies ([tf.assert_less_equal (x,y)] ):
   output=tf.reduce_sum(x)

这种情况下,如果对于每对(可能广播)元素 x[i],y[i], 我们有 x[i] <= y[i].如果 x 和 y 都是空的,该条件很容易满足.

tf.assert_greater

断言条件 x > y 包含的元素.

原型

assert_greater (
      x ,
      y ,
      data = None ,
      summarize = None ,
      message = None ,
      name = None
  )

参数

参数:

  • x:数值张量.
  • y:数值张量,相同的 dtype 并且可广播到x.
  • data:如果条件为假,打印出来张量.默认为错误消息和 x,y的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_greater”.

返回:

如果 x > y 是 False ,则引发 InvalidArgumentError 的操作.

用例

with tf.control_dependencies ([ tf . assert_greater (x , y)] ):
    output = tf.reduce_sum (x)

如果对于每对(可能广播)元素 x[i],y[i],该条件成立的话,我们有 x[i] > y[i].如果 x 和 y 是空的,这很容易满足.

tf.assert_greater_equal

断言条件 x >= y 包含的元素.

原型

assert_greater_equal (
      x ,
      y ,
      data = None ,
      summarize = None ,
      message = None ,
      name = None
  )

参数

参数:

  • x:数值张量.
  • y:数值张量,相同的 dtype 并且可广播到 x.
  • data:如果条件为假,打印出来张量.默认为错误消息和 x,y 的前几个条目.
  • summarize:打印每张张数的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_greater_equal”.

返回:

  • 如果 x >= y 是 False ,则引起 InvalidArgumentError 的操作.

用例

with tf.control_dependencies ([tf.assert_greater_equal ( x ,y)] ):
    output = tf.reduce_sum (x)

如果对于每对(可能广播)元素 x[i],y[i],这个条件成立,则有 x[i] >= y[i].如果 x 和 y 是空的,这很容易满足.

tf.assert_rank

断言 x 的秩等于秩.

原型

assert_rank (
     x ,
     rank ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • rank:标量整数张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选),默认为 “assert_rank”.

返回:

  • 提高 InvalidArgumentError 的操作,除非 x 已经有指定的秩.如果静态检查确定 x 具有正确的秩,则返回 no_op.

注意:

  • ValueError:如果静态检查确定 x 的秩错误.

用例

with tf.control_dependencies ([ tf.assert_rank( X , 2 )] ):
   output = tf.reduce_sum ( x )

tf.assert_rank_at_least

断言 x 具有相等的秩或者更高的秩.

原型

assert_rank_at_least (
     x ,
     rank ,
     data = None ,
     summarize = None ,
     message = None ,
     name = None
 )

参数

参数:

  • x:数值张量.
  • rank:标量张量.
  • data:如果条件为 False,则打印出张量.默认为错误消息和 x 的前几个条目.
  • summarize:打印每个张量的许多条目.
  • message:对默认消息进行前缀操作的字符串.
  • name:此操作的名称(可选).默认为 “assert_rank_at_least”.

返回:

  • 提高 InvalidArgumentError 的操作,除非 x 已经指定秩或更高.如果静态检查确定 x 具有正确的秩,则返回 no_op.

注意:

  • ValueError:如果静态检查确定 x 的秩错误.

用例

with tf.control_dependencies ([tf.assert_rank_at_least(X ,2 )] ):
   output = tf.reduce_sum ( x )

tf.assert_type

静态断言给定的张量是指定的类型.

原型

assert_type (
     tensor ,
     tf_type ,
     message = None ,
     name = None
 )

参数

参数:

  • tensor:一个 tensorflow 张量.
  • tf_type:tensorflow 的类型(dtypes.float32,tf.int64,dtypes.bool等).
  • message:对默认消息进行前缀操作的字符串.
  • name :给这个 Op 的名称.默认为 “assert_type”.

举:

  • TypeError:如果张量数据类型与 tf_type 不匹配.

返回:

  • 返回 no_op,什么也不做.类型可以静态确定.

tf.is_non_decreasing

tf.is_numeric_tensor

tf.is_strictly_increasing

你可能感兴趣的:(机器学习)