tf.math

2022-09-04 21:47:04 浏览数 (1)

一、函数列表

abs(...): 计算张量的绝对值。

accumulate_n(...): 返回张量列表的元素和。

acos(...): 计算x元素的acos。

acosh(...): 计算逆双曲余弦x元素。

add(...): 返回x y元素。

add_n(...): 按元素顺序添加所有输入张量。

angle(...): 返回复张量(或实张量)的元素参数。

argmax(...): 返回一个张量在轴上的最大值的指标。 (deprecated arguments)

argmin(...): 返回一个张量横轴方向上值最小的指标。(deprecated arguments)

asin(...): 计算x元素的三角反正弦。

asinh(...): 计算逆双曲正弦x元素。

atan(...): 计算x元素的三角反切。

atan2(...): 根据参数的符号计算arctan (y/x)。

atanh(...): 计算x元素的逆双曲正切。

bessel_i0(...): 计算x元素的贝塞尔i0函数。

bessel_i0e(...): 计算x元素的贝塞尔i0e函数。

bessel_i1(...): 计算x元素的贝塞尔i1函数。

bessel_i1e(...): 计算x元素的贝塞尔i1e函数。

betainc(...): 计算正则化不完全积分。

bincount(...): 计算整数数组中每个值出现的次数。

ceil(...): 返回元素方向上不小于x的最小整数。

confusion_matrix(...): 根据预测和标签计算混淆矩阵。

conj(...): 返回复数的复共轭。

cos(...): 计算cosx元素。

cosh(...): 计算x元素的双曲余弦。

count_nonzero(...): 计算张量维上非零元素的个数。(deprecated arguments) (deprecated arguments)

cumprod(...): 计算张量x沿轴的累积积。

cumsum(...): 沿着轴计算张量x的累积和。

digamma(...): 计算导数绝对值的对数

divide(...): 计算Python风格的x除以y的除法。

divide_no_nan(...): 计算一个不安全的除法,如果y为零,该除法返回0。

equal(...): 返回(x == y)元素的真值。

erf(...):计算x元素的高斯误差函数。

erfc(...): 计算x元素的互补误差函数。

exp(...): 计算x元素的指数。

expm1(...): 计算x - 1元素的指数。

floor(...): 返回不大于x的元素最大整数。

floordiv(...): 除以x / y元素,四舍五入到最负的整数。

floormod(...): 当x < 0 xor y < 0时,返回除法的元素剩余部分。

greater(...): 返回元素(x > y)的真值。

greater_equal(...): 返回元素的真值(x >= y)。

igamma(...): 计算下正则化不完全函数P(a, x)。

igammac(...): 计算上正则化不完全函数Q(a, x)。

imag(...): 返回复张量(或实张量)的虚部。

in_top_k(...): 表示目标是否在前K个预测中。

invert_permutation(...): 计算张量的逆置换。

is_finite(...): 返回x的哪些元素是有限的。

is_inf(...): 返回x的哪些元素是Inf。

is_nan(...): 返回x的哪些元素是NaN。

is_non_decreasing(...): 如果x不递减,则返回True。

is_strictly_increasing(...): 如果x严格递增,则返回True。

l2_normalize(...): 使用L2范数沿着维度轴进行标准化。 (deprecated arguments)

lbeta(...): 计算,沿最后一个维度减小。

less(...): 返回(x < y)元素的真值。

less_equal(...): 返回元素的真值(x <= y)。

lgamma(...): 计算元素(x)绝对值的对数。

log(...): 计算x元素的自然对数。

log1p(...): 计算(1 x)元素的自然对数。

log_sigmoid(...): 计算x元素的log sigmoid。

log_softmax(...): 计算对数softmax激活。(deprecated arguments)

logical_and(...): 返回x和y元素的真值。

logical_not(...): 返回NOT x element-wise的真值。

logical_or(...): 返回x或y元素的真值。

logical_xor(...): 逻辑异或函数。

maximum(...): 返回x和y的最大值(即x > y ?x: y)元素方面。

minimum(...): 返回x和y的最小值(即x < y ?x: y)元素方面。

mod(...): 当x < 0 xor y < 0时,返回除法的元素剩余部分。

multiply(...): 返回x * y元素。

multiply_no_nan(...): 计算x和y的乘积,如果y是0,即使x是NaN或无穷大,返回0。

negative(...): 计算数值负值元素。

nextafter(...): 返回元素方向上x1的下一个可表示值。

not_equal(...): 返回元素的真值(x != y)。

polygamma(...): 计算多元函数。

polyval(...): 计算多项式的元素值。

pow(...): 计算一个值对另一个值的幂。

real(...): 返回复张量(或实张量)的实部。

reciprocal(...): 计算x元素的倒数。

reduce_all(...): 计算元素跨张量维数的“逻辑和”。(deprecated arguments)

reduce_any(...): 计算元素跨张量维数的“逻辑或”。(deprecated arguments)

reduce_euclidean_norm(...): 计算元素跨张量维数的欧几里德范数。

reduce_logsumexp(...): 计算log(sum(exp(一个张量的维度上的元素))。 (deprecated arguments)

reduce_max(...): 计算张量维数中元素的最大值。(deprecated arguments)

reduce_mean(...): 计算元素跨张量维数的平均值。

reduce_min(...): 计算张量维数中元素的最小值。(deprecated arguments)

reduce_prod(...): 计算元素跨张量维数的乘积。 (deprecated arguments)

reduce_std(...): 计算元素跨张量维数的标准偏差。

reduce_sum(...): 计算张量维数中元素的和。(deprecated arguments)

reduce_variance(...): 计算元素跨张量维数的方差。

rint(...): 返回最接近x的元素整数。

round(...): 元素方面,将张量的值舍入到最近的整数。

rsqrt(...): 计算x元素平方根的倒数。

scalar_mul(...): 将标量乘以张量或索引切片对象。

segment_max(...): 计算张量沿段的最大值。

segment_mean(...): 沿张量的段计算平均值。

segment_min(...): 计算张量沿段的最小值。

segment_prod(...): 沿着张量的段计算乘积。

segment_sum(...): 沿着张量的段计算和。

sigmoid(...): 计算x元素的sigmoid。

sign(...): 返回数字符号的元素指示。

sin(...): 计算sin (x)元素。

sinh(...): 计算x元素的双曲正弦。

softmax(...): 计算softmax激活。(deprecated arguments)

softplus(...): 计算softplus: log(exp(features) 1).

softsign(...): 计算softsign: features / (abs(features) 1).

sqrt(...): 计算x元素的平方根。

square(...): 计算x元素的平方。

squared_difference(...): 返回(x - y)(x - y)元素。

subtract(...): 返回x - y元素。

tan(...): 计算x元素的tan值。

tanh(...): 计算x元素的双曲正切。

top_k(...): 查找最后一个维度的k个最大项的值和索引。

truediv(...): 使用Python 3的除法运算符语义来分割x / y元素。

unsorted_segment_max(...): 计算张量沿段的最大值。

unsorted_segment_mean(...): 沿张量的段计算平均值。

unsorted_segment_min(...): 计算张量沿段的最小值。

unsorted_segment_prod(...): 沿着张量的段计算乘积。

unsorted_segment_sqrt_n(...): 计算张量沿段的和除以根号N。

unsorted_segment_sum(...): 沿着张量的段计算和。

xdivy(...): 如果x == 0返回0,否则返回x / y, elementwise。

xlogy(...): 如果x == 0返回0,否则返回x * log(y), elementwise。

zero_fraction(...):返回值中0的分数。

zeta(...): 计算Hurwitz zeta函数。

二、重要的API

1、tf.floor

返回不大于x的元素最大整数。

代码语言:javascript复制
tf.math.floor(
    x,
    name=None
)

参数:

  • x: 张量。必须是以下类型之一:bfloat16、half、float32、float64。
  • name: 操作的名称(可选)。

返回值:

  • 与x类型相同的张量。

2、tf.log

计算x元素的自然对数。

代码语言:javascript复制
tf.math.log(
    x,
    name=None
)

例如,

参数:

  • x: 张量。必须是以下类型之一:bfloat16、half、float32、float64、complex64、complex128。
  • name: 操作的名称(可选)。

返回值:

  • 一个与x类型相同的张量。

3、tf.reduce_mean

计算元素跨张量维数的平均值。

代码语言:javascript复制
tf.math.reduce_mean(
    input_tensor,
    axis=None,
    keepdims=False,
    name=None
)

沿着坐标轴给出的维数减少input_张量。除非keepdims为真,否则对于轴上的每一项,张量的秩都会减少1。如果keepdims为真,则使用长度1保留缩减后的维度。如果轴为空,则所有维数都被缩减,并返回一个只有一个元素的张量。

例如:

代码语言:javascript复制
x = tf.constant([[1., 1.], [2., 2.]])
tf.reduce_mean(x)  # 1.5
tf.reduce_mean(x, 0)  # [1.5, 1.5]
tf.reduce_mean(x, 1)  # [1.,  2.]

参数:

  • input_tensor: 要减少的张量。应该具有数值类型。
  • axis: 要缩小的尺寸。如果没有(默认值),则减少所有维度。必须在[-rank(input_张量),rank(input_张量)]范围内。
  • keepdims: 如果为真,则保留长度为1的缩减维度。
  • name: 操作的名称(可选)。

返回值:

  • 一个减少的张量。

请注意np.mean有一个dtype参数,可用于指定输出类型。默认情况下,这是dtype=float64。另一方面,tf.reduce_mean有一个来自input_张量的攻击类型推断,例如:

代码语言:javascript复制
x = tf.constant([1, 0, 1, 0])
tf.reduce_mean(x)  # 0
y = tf.constant([1., 0., 1., 0.])
tf.reduce_mean(y)  # 0.5

4、tf.reduce_sum

计算张量维数中元素的和。

代码语言:javascript复制
tf.math.reduce_sum(
    input_tensor,
    axis=None,
    keepdims=None,
    name=None,
    reduction_indices=None,
    keep_dims=None
)

警告:一些参数是不支持的:(keep_dims)。它们将在未来的版本中被删除。

更新说明:不推荐使用keep_dims,而是使用keepdims。

沿着坐标轴给出的维数减少input_张量。除非keepdims为真,否则对于轴上的每一项,张量的秩都会减少1。如果keepdims为真,则使用长度1保留缩减后的维度。如果轴为空,则所有维数都被缩减,并返回一个只有一个元素的张量。

例:

代码语言:javascript复制
x = tf.constant([[1, 1, 1], [1, 1, 1]])
tf.reduce_sum(x)  # 6
tf.reduce_sum(x, 0)  # [2, 2, 2]
tf.reduce_sum(x, 1)  # [3, 3]
tf.reduce_sum(x, 1, keepdims=True)  # [[3], [3]]
tf.reduce_sum(x, [0, 1])  # 6
x = tf.constant([[1, 2, 4], [8, 16, 32]])
a = tf.reduce_sum(x, -1)  # [ 9 18 36]

参数:

  • input_tensor:要减少的张量。应该具有数值类型。
  • axis:要缩小的尺寸。如果没有(默认值),则减少所有维度。必须在[-rank(input_张量),rank(input_张量)]范围内。
  • keepdims:如果为真,则保留长度为1的缩减维度。
  • name:操作的名称(可选)。
  • reduction_indices: axis的旧名称(已弃用)。
  • keep_dims: keepdims的弃用别名。

返回值:

  • 简化张量,与input_tensor具有相同的d型。

5、tf.add_n

按顺序对输入的张量进行求和。

代码语言:javascript复制
tf.add_n(
    inputs,
    name=None
)

在添加之前将indexedslice对象转换为密集张量。

例如:

代码语言:javascript复制
a = tf.constant([[3, 5], [4, 8]])
b = tf.constant([[1, 6], [2, 9]])
tf.math.add_n([a, b, a])  # [[7, 16], [10, 25]]

6、tf.math.top_k

tf.math.top_k

代码语言:javascript复制
tf.math.top_k(
    input,
    k=1,
    sorted=True,
    name=None
)

查找最后一个维度的k个最大项的值和索引。如果输入是一个向量(rank=1),找到向量中k个最大的元素,并将它们的值和索引作为向量输出。因此value [j]是输入的第j个最大的条目,它的索引是index [j]。矩阵(分别地。,计算每一行的前k个条目(resp)。沿着最后一个维度的向量)。因此,

代码语言:javascript复制
values.shape = indices.shape = input.shape[:-1]   [k]

如果两个元素相等,则首先出现下标元素。

参数:

  • input:一维或更高张量,最后维数至少为k。
  • k: 0-D int32张量。要沿着最后一个维度查找的顶部元素的数量(对于矩阵,沿着每一行查找)。
  • sorted:如果为真,则得到的k个元素将按降序排列。
  • name:操作的可选名称。

返回值:

  • values: 沿最后一个维度切片的k个最大元素。
  • indices: 输入的最后一个维度内的值的索引。

7、tf.math.argmax

返回一个张量在轴上的最大值的指标。

代码语言:javascript复制
tf.math.argmax(
    input,
    axis=None,
    name=None,
    dimension=None,
    output_type=tf.dtypes.int64
)

参数:

  • input:一个张量。必须是以下类型之一:float32、float64、int32、uint8、int16、int8、complex64、int64、qint8、quint8、qint32、bfloat16、uint16、complex128、half、uint32、uint64。
  • axis:张量。必须是下列类型之一:int32、int64。int32或int64,必须在[-rank(输入),rank(输入)]范围内。描述输入张量的哪个轴要缩小。对于向量,使用axis = 0。
  • output_type:一个可选的tf.DType from: tf.int32, tf.int64。默认为tf.int64。
  • name:操作的名称(可选)。

返回值:

  • 一个输出t_type类型的张量。

0 人点赞