这一篇博文我们集中梳理了Tensorflow常用的基础操作与对应的函数,熟练掌握这些操作可以为后续使用Tensorflow构建深度神经网络扫清障碍。
数据操作
算术运算
函数 | 描述 |
---|---|
tf.assign(x, y, name=None) | 令x=y |
tf.add(x, y, name=None) | 求和 |
tf.subtract(x, y, name=None) | 相减 |
tf.multiply(x, y, name=None) | 相乘 |
tf.divide(x, y, name=None) | 相除 |
tf.mod(x, y, name=None) | 取模 |
tf.abs(x, name=None) | 求绝对值 |
tf.negative(x, name=None) | 取负 |
tf.sign(x, name=None) | 返回x的符号,x>0返回1,x<0返回-1,x=0返回0 |
tf.reciprocal(x, name=None) | 求倒数 |
tf.square(x, name=None) | 求平方 |
tf.round(x, name=None) | 舍入最接近的整数 |
tf.sqrt(x, name=None) | 求平方根 |
tf.pow(x, y, name=None) | 求x的y次幂 |
tf.exp(x, name=None) | 求e的x次幂 |
tf.log(x, name=None) | 求x的对数 |
tf.maximum(x, y, name=None) | 返回x和y中的较大值 |
tf.minimum(x, y, name=None) | 返回x和y中的较小值 |
tf.cos(x, name=None) | 求余弦值 |
tf.sin(x, name=None) | 求正弦值 |
tf.tan(x, name=None) | 求正切值 |
tf.atan(x, name=None) | 求反正切值 |
tf.cond(pred, true_fn=None, false_fn=None, strict=False, name=None, fn1=None, fn2=None) | 满足条件就执行true_fn,否则执行false_fn |
1 | import tensorflow as tf |
矩阵运算
函数 | 描述 |
---|---|
tf.diag(diagonal, name=None) | 返回一个给定对角值的对角矩阵 |
tf.diag_part(input, name=None) | 返回给定矩阵的对角值 |
tf.trace(x, name=None) | 返回矩阵的迹(标量) |
tf.transpose(a, perm=None, name=’transpose’) | 按照perm指定的维度顺序对x进行转置 |
tf.reverse(tensor, dim, name=None) | 按指定的维度对张量元素逐维进行反转 |
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) | 求方阵的逆矩阵 |
tf.cholesky(input, name=None) | cholesky分解:把一个对称正定矩阵表示成一个下三角矩阵和其转置的乘积 |
tf.matrix_solve(matrix, rhs, adjoint=None, name=None) | 求解矩阵方程,输入系数矩阵matrix与值矩阵rhs,返回答案矩阵 |
1 | with tf.Session() as sess: |
规约运算
函数 | 描述 |
---|---|
tf.reduce_sum(input_tensor, axis=None, name=None) | 按照指定的轴对元素求和 |
tf.reduce_prod(input_tensor, axis=None, name=None) | 按照指定的轴对元素求积 |
tf.reduce_min(input_tensor, axis=None, name=None) | 按照指定的轴求元素的最小值 |
tf.reduce_max(input_tensor, axis=None, name=None) | 按照指定的轴求元素的最大值 |
tf.reduce_mean(input_tensor, axis=None, name=None) | 按照指定的轴求元素的平均值 |
tf.reduce_all(input_tensor, axis=None, name=None) | 按照指定的轴对元素做与运算 |
tf.reduce_any(input_tensor, axis=None, name=None) | 按照指定的轴对元素做或运算 |
1 | with tf.Session() as sess: |
索引运算
函数 | 描述 |
---|---|
tf.argmin(input, axis, name=None) | 返回指定轴上最小元素的索引 |
tf.argmax(input, axis, name=None) | 返回指定轴上最大元素的索引 |
tf.where(condition, x=None, y=None, name=None) | 根据条件返回相应的下标或元素值 |
tf.unique(x, name=None) | 返回一个元组(y,idx),y是x的唯一化元素列表,idx为x的元素对应y元素的下标序列 |
tf.invert_permutation(x, name=None) | 将x中元素值当做索引返回新的张量 |
tf.random_shuffle(input) | 沿着input的第一维随机重新排列 |
1 | with tf.Session() as sess: |