『TensorFlow』函数查询列表_数值计算

基本算术运算

操作描述
tf.add(x, y, name=None)求和
tf.sub(x, y, name=None)减法
tf.mul(x, y, name=None)乘法
tf.div(x, y, name=None)除法
tf.mod(x, y, name=None)取模
tf.abs(x, name=None)求绝对值
tf.neg(x, name=None)取负 (y = -x).
tf.sign(x, name=None)返回符号 y = sign(x) = -1 if x < 0; 0 if x == 0; 1 if x > 0.
tf.inv(x, name=None)取反
tf.square(x, name=None)计算平方 (y = x * x = x^2).
tf.round(x, name=None)舍入最接近的整数

# ‘a’ is [0.9, 2.5, 2.3, -4.4]

tf.round(a) ==> [ 1.0, 3.0, 2.0, -4.0 ]

tf.sqrt(x, name=None)开根号 (y = \sqrt{x} = x^{1/2}).
tf.pow(x, y, name=None)幂次方

# tensor ‘x’ is [[2, 2], [3, 3]]

# tensor ‘y’ is [[8, 16], [2, 3]]

tf.pow(x, y) ==> [[256, 65536], [9, 27]]

tf.exp(x, name=None)计算e的次方
tf.log(x, name=None)计算log,一个输入计算e的ln,两输入以第二输入为底
tf.maximum(x, y, name=None)返回最大值 (x > y ? x : y)
tf.minimum(x, y, name=None)返回最小值 (x < y ? x : y)
tf.cos(x, name=None)三角函数cosine
tf.sin(x, name=None)三角函数sine
tf.tan(x, name=None)三角函数tan
tf.atan(x, name=None)三角函数ctan

矩阵运算

操作描述
tf.diag(diagonal, name=None)返回一个给定对角值的对角tensor

# ‘diagonal’ is [1, 2, 3, 4]

tf.diag(diagonal) ==>

[[1, 0, 0, 0]

[0, 2, 0, 0]

[0, 0, 3, 0]

[0, 0, 0, 4]]

tf.diag_part(input, name=None)功能与上面相反
tf.trace(x, name=None)求一个2维tensor足迹,即对角值diagonal之和
tf.transpose(a, perm=None, name=’transpose’)调换tensor的维度顺序

按照列表perm的维度排列调换tensor顺序,

如为定义,则perm为(n-1…0)

# ‘x’ is [[1 2 3],[4 5 6]]

tf.transpose(x) ==> [[1 4], [2 5],[3 6]]

# Equivalently

tf.transpose(x, perm=[1, 0]) ==> [[1 4],[2 5], [3 6]]

tf.matmul(a, b, transpose_a=False,

transpose_b=False, a_is_sparse=False,

b_is_sparse=False, name=None)

矩阵相乘
tf.matrix_determinant(input, name=None)返回方阵的行列式
tf.matrix_inverse(input, adjoint=None, name=None)求方阵的逆矩阵,adjoint为True时,计算输入共轭矩阵的逆矩阵
tf.cholesky(input, name=None)对输入方阵cholesky分解,

即把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解A=LL^T

tf.matrix_solve(matrix, rhs, adjoint=None, name=None)求解tf.matrix_solve(matrix, rhs, adjoint=None, name=None)

matrix为方阵shape为[M,M],rhs的shape为[M,K],output为[M,K]

复数操作

操作描述
tf.complex(real, imag, name=None)将两实数转换为复数形式

# tensor ‘real’ is [2.25, 3.25]

# tensor imag is [4.75, 5.75]

tf.complex(real, imag) ==> [[2.25 + 4.75j], [3.25 + 5.75j]]

tf.complex_abs(x, name=None)计算复数的绝对值,即长度。

# tensor ‘x’ is [[-2.25 + 4.75j], [-3.25 + 5.75j]]

tf.complex_abs(x) ==> [5.25594902, 6.60492229]

tf.conj(input, name=None)计算共轭复数
tf.imag(input, name=None)

tf.real(input, name=None)

提取复数的虚部和实部
tf.fft(input, name=None)计算一维的离散傅里叶变换,输入数据类型为complex64

归约计算(Reduction)

操作描述
tf.reduce_sum(input_tensor, reduction_indices=None,

keep_dims=False, name=None)

计算输入tensor元素的和,或者安照reduction_indices指定的轴进行求和

# ‘x’ is [[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, keep_dims=True) ==> [[3], [3]]

tf.reduce_sum(x, [0, 1]) ==> 6

tf.reduce_prod(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

计算输入tensor元素的乘积,或者安照reduction_indices指定的轴进行求乘积
tf.reduce_min(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

求tensor中最小值
tf.reduce_max(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

求tensor中最大值
tf.reduce_mean(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

求tensor中平均值
tf.reduce_all(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

对tensor中各个元素求逻辑’与’

# ‘x’ is

# [[True, True]

# [False, False]]

tf.reduce_all(x) ==> False

tf.reduce_all(x, 0) ==> [False, False]

tf.reduce_all(x, 1) ==> [True, False]

tf.reduce_any(input_tensor,

reduction_indices=None,

keep_dims=False, name=None)

对tensor中各个元素求逻辑’或’
tf.accumulate_n(inputs, shape=None,

tensor_dtype=None, name=None)

计算一系列tensor的和

# tensor ‘a’ is [[1, 2], [3, 4]]

# tensor b is [[5, 0], [0, 6]]

tf.accumulate_n([a, b, a]) ==> [[7, 4], [6, 14]]

tf.cumsum(x, axis=0, exclusive=False,

reverse=False, name=None)

求累积和

tf.cumsum([a, b, c]) ==> [a, a + b, a + b + c]

tf.cumsum([a, b, c], exclusive=True) ==> [0, a, a + b]

tf.cumsum([a, b, c], reverse=True) ==> [a + b + c, b + c, c]

tf.cumsum([a, b, c], exclusive=True, reverse=True) ==> [b + c, c, 0]

序列比较与索引提取(Sequence Comparison and Indexing)

操作描述
tf.argmin(input, dimension, name=None)返回input最小值的索引index
tf.argmax(input, dimension, name=None)返回input最大值的索引index
tf.listdiff(x, y, name=None)返回x,y中不同值的索引
tf.where(input, name=None)返回bool型tensor中为True的位置

# ‘input’ tensor is

#[[True, False]

#[True, False]]

# ‘input’ 有两个’True’,那么输出两个坐标值.

# ‘input’的rank为2, 所以每个坐标为具有两个维度.

where(input) ==>

[[0, 0],

[1, 0]]

tf.unique(x, name=None)返回一个元组tuple(y,idx),y为x的列表的唯一化数据列表,

idx为x数据对应y元素的index

# tensor ‘x’ is [1, 1, 2, 4, 4, 4, 7, 8, 8]

y, idx = unique(x)

y ==> [1, 2, 4, 7, 8]

idx ==> [0, 0, 1, 2, 2, 2, 3, 4, 4]

tf.invert_permutation(x, name=None)置换x数据与索引的关系

# tensor x is [3, 4, 0, 2, 1]

invert_permutation(x) ==> [2, 4, 3, 0, 1]