tensorflow编程: Math
来源:互联网 发布:wacom mac 笔记软件 编辑:程序博客网 时间:2024/06/05 05:49
Arithmetic Operators
tf.add、tf.subtract、tf.multiply、tf.scalar_mul、tf.div、tf.divide、tf.truediv、tf.floordiv、tf.realdiv、tf.truncatediv、tf.floor_div、tf.truncatemod、tf.floormod、tf.mod、tf.cross
# coding=utf-8import tensorflow as tfx = tf.constant([[10, 20]], dtype=tf.float32)y = tf.constant([[3, 4]], dtype=tf.float32)with tf.Session() as sess: # 对应元素 相加 print '\ntf.add(x, y) : ', sess.run(tf.add(x, y)) # 对应元素 相减 print '\ntf.subtract(x, y) : ', sess.run(tf.subtract(x, y)) # 对应元素 相乘 print '\ntf.multiply(x, y) : ', sess.run(tf.multiply(x, y)) # 所有元素 等比例放大 print '\ntf.scalar_mul(9.0, x) : ', sess.run(tf.scalar_mul(9.0, x)) # 对应元素 相除 print '\ntf.div(x, y) : ', sess.run(tf.div(x, y)) # 对应元素 相除 print '\ntf.divide(x, y) : ', sess.run(tf.divide(x, y)) # 对应元素 相除 print '\ntf.truediv(x, y) : ', sess.run(tf.truediv(x, y)) # 对应元素 地板除 print '\ntf.floordiv(x, y) : ', sess.run(tf.floordiv(x, y)) # 对应元素 截断除 取余 print '\ntf.truncatemod(x, y) : ', sess.run(tf.truncatemod(x, y)) # 对应元素 地板除 取余 print '\ntf.floormod(x, y) : ', sess.run(tf.floormod(x, y)) # 对应元素 相除 取余 print '\ntf.mod(x, y) : ', sess.run(tf.mod(x, y)) # 两组 3元素向量的tensor 交叉乘 print '\ntf.cross([[10, 20, 30]], [[1, 2, 3]]) : ', sess.run(tf.cross([[10, 20, 30]], [[1, 2, 1]]))
tf.add(x, y) : [[ 13. 24.]]tf.subtract(x, y) : [[ 7. 16.]]tf.multiply(x, y) : [[ 30. 80.]]tf.scalar_mul(9.0, x) : [[ 90. 180.]]tf.div(x, y) : [[ 3.33333325 5. ]]tf.divide(x, y) : [[ 3.33333325 5. ]]tf.truediv(x, y) : [[ 3.33333325 5. ]]tf.floordiv(x, y) : [[ 3. 5.]]tf.truncatemod(x, y) : [[ 1. 0.]]tf.floormod(x, y) : [[ 1. 0.]]tf.mod(x, y) : [[ 1. 0.]]tf.cross([[10, 20, 30]], [[1, 2, 3]]) : [[-40 20 0]]
Basic Math Functions
tf.add_n、tf.abs、tf.negative、tf.sign、tf.reciprocal、tf.square、tf.round、tf.sqrt、tf.rsqrt、tf.pow、tf.exp、tf.expm1、tf.log、tf.log1p、tf.ceil、tf.floor、tf.maximum、tf.minimum、tf.cos、tf.sin、tf.lbeta、tf.tan、tf.acos、tf.asin、tf.atan、tf.cosh、tf.sinh、tf.asinh、tf.acosh、tf.atanh、tf.lgamma、tf.digamma、tf.erf、tf.erfc、tf.squared_difference、tf.rint
# coding=utf-8import tensorflow as tfx = tf.constant([[-1.5, 0, 2]], dtype=tf.float32)y = tf.constant([[2, 0, 1]], dtype=tf.float32)with tf.Session() as sess: # 对应元素 相加 print '\ntf.add_n([x, y]) : ', sess.run(tf.add_n([x, y])) # 求 绝对值 print '\ntf.abs(x) : ', sess.run(tf.abs(x)) # 求 相反数 print '\ntf.negative(x) : ', sess.run(tf.negative(x)) # 求 符号 print '\ntf.sign(x) : ', sess.run(tf.sign(x)) # 求 倒数 print '\ntf.reciprocal(x) : ', sess.run(tf.reciprocal(x)) # 求 平方 print '\ntf.square(x) : ', sess.run(tf.square(x)) # 求 各元素各自距离最近的整数;若在中间,则取偶数值 print '\ntf.round(x) : ', sess.run(tf.round(x)) # 求 平方根 print '\ntf.sqrt(x) : ', sess.run(tf.sqrt(x)) # 求 平方根的倒数 print '\ntf.rsqrt(x) : ', sess.run(tf.rsqrt(x)) # 求 x各元素的y各元素次方 print '\ntf.pow(x) : ', sess.run(tf.pow(x, y)) # 求 自然数指数,即e^x print '\ntf.exp(x) : ', sess.run(tf.exp(x)) # 求 自然指数减1,即e^x-1 print '\ntf.expm1(x) : ', sess.run(tf.expm1(x)) # 求 自然对数 print '\ntf.log(x) : ', sess.run(tf.log(x)) # 求 加1后的自然对数 print '\ntf.log1p(x) : ', sess.run(tf.log1p(x)) # 求 天花板整数 print '\ntf.ceil(x) : ', sess.run(tf.ceil(x)) # 求 地板整数 print '\ntf.floor(x) : ', sess.run(tf.floor(x)) # 求 各对应位置 上的 最大值 print '\ntf.maximum(x) : ', sess.run(tf.maximum(x, y)) # 求 各对应位置 上的 最小值 print '\ntf.minimum(x) : ', sess.run(tf.minimum(x, y)) # 求 cos(x) print '\ntf.cos(x) : ', sess.run(tf.cos(x)) # 求 sin(x) print '\ntf.sin(x) : ', sess.run(tf.sin(x)) # 求 ln(|Beta(x)|), 并以最末尺度进行归纳。 print '\ntf.lbeta(x) : ', sess.run(tf.lbeta(x)) # 求 tan(x) print '\ntf.tan(x) : ', sess.run(tf.tan(x)) # 求 acos(x) print '\ntf.acos(x) : ', sess.run(tf.acos(x)) # 求 asin(x) print '\ntf.asin(x) : ', sess.run(tf.asin(x)) # 求 atan(x) print '\ntf.atan(x) : ', sess.run(tf.atan(x)) # 求 cosh(x) print '\ntf.cosh(x) : ', sess.run(tf.cosh(x)) # 求 sinh(x) print '\ntf.sinh(x) : ', sess.run(tf.sinh(x)) # 求 asinh(x) print '\ntf.asinh(x) : ', sess.run(tf.asinh(x)) # 求 acosh(x) print '\ntf.acosh(x) : ', sess.run(tf.acosh(x)) # 求 atanh(x) print '\ntf.atanh(x) : ', sess.run(tf.atanh(x)) # 求 ln(gamma(x)) print '\ntf.lgamma(x) : ', sess.run(tf.lgamma(x)) # 求 lgamma的导数,即gamma‘/gamma print '\ntf.digamma(x) : ', sess.run(tf.digamma(x)) # 求 高斯误差 print '\ntf.erf(x) : ', sess.run(tf.erf(x)) # 求 高斯互补误差 print '\ntf.erfc(x) : ', sess.run(tf.erfc(x)) # 求 (x-y)(x-y) print '\ntf.squared_difference(x) : ', sess.run(tf.squared_difference(x, y)) # 求 离x最近的整数,若为中间值,取偶数值。 print '\ntf.rint(x) : ', sess.run(tf.rint(x))
tf.add_n([x, y]) : [[ 0.5 0. 3. ]]tf.abs(x) : [[ 1.5 0. 2. ]]tf.negative(x) : [[ 1.5 -0. -2. ]]tf.sign(x) : [[-1. 0. 1.]]tf.reciprocal(x) : [[-0.66666669 inf 0.5 ]]tf.square(x) : [[ 2.25 0. 4. ]]tf.round(x) : [[-2. 0. 2.]]tf.sqrt(x) : [[ nan 0. 1.41421354]]tf.rsqrt(x) : [[ nan inf 0.70710677]]tf.pow(x) : [[ 2.25 1. 2. ]]tf.exp(x) : [[ 0.22313017 1. 7.38905621]]tf.expm1(x) : [[-0.77686983 0. 6.38905621]]tf.log(x) : [[ nan -inf 0.69314718]]tf.log1p(x) : [[ nan 0. 1.09861231]]tf.ceil(x) : [[-1. 0. 2.]]tf.floor(x) : [[-2. 0. 2.]]tf.maximum(x) : [[ 2. 0. 2.]]tf.minimum(x) : [[-1.5 0. 1. ]]tf.cos(x) : [[ 0.0707372 1. -0.41614684]]tf.sin(x) : [[-0.997495 0. 0.90929741]]tf.lbeta(x) : [ inf]tf.tan(x) : [[-14.1014204 0. -2.18503976]]tf.acos(x) : [[ nan 1.57079637 nan]]tf.asin(x) : [[ nan 0. nan]]tf.atan(x) : [[-0.98279375 0. 1.10714877]]tf.cosh(x) : [[ 2.3524096 1. 3.76219583]]tf.sinh(x) : [[-2.12927938 0. 3.62686038]]tf.asinh(x) : [[-1.19476318 0. 1.44363546]]tf.acosh(x) : [[ nan nan 1.31695795]]tf.atanh(x) : [[ nan 0. nan]]tf.lgamma(x) : [[ 0.86004704 inf 0. ]]tf.digamma(x) : [[ 0.70315683 inf 0.42278421]]tf.erf(x) : [[-0.96610516 0. 0.99532229]]tf.erfc(x) : [[ 1.9661051 1. 0.00467773]]tf.squared_difference(x) : [[ 12.25 0. 1. ]]tf.rint(x) : [[-2. 0. 2.]]
Matrix Math Functions
tf.diag、tf.diag_part、tf.trace、tf.transpose(a, perm=None)、tf.eye、tf.matrix_diag、tf.matrix_diag_part、tf.matrix_band_part、tf.matrix_set_diag、tf.matrix_transpose、tf.matmul、tf.norm、tf.matrix_determinant、tf.matrix_inverse、tf.cholesky、tf.matrix_triangular_solve、tf.matrix_solve_ls、tf.qr、tf.self_adjoint_eig、tf.self_adjoint_eigvals、tf.svd
# coding=utf-8import tensorflow as tfx = tf.constant([[1,5,0],[0,2,0],[0,0,3]])x_f = tf.cast(x, tf.float32)y = tf.constant([10, 20, 30])with tf.Session() as sess: # 返回 对角矩阵 print '\ntf.diag(y) : \n', sess.run(tf.diag(y)) # 返回 对角阵的 对角元素 print '\ntf.diag_part(x) : \n', sess.run(tf.diag_part(x)) # 返回 矩阵的 迹 print '\ntf.trace(x) : \n', sess.run(tf.trace(x)) # 返回 矩阵的 转置。 perm参数项: x的尺寸排列顺序,默认为None。 print '\ntf.transpose(x) : \n', sess.run(tf.transpose(x)) # 返回 单位矩阵 print '\ntf.eye(3) : \n', sess.run(tf.eye(3)) # 根据对角值 返回 一批对角矩阵 print '\ntf.matrix_diag([[1,2,3],[4,5,6]]) : \n', sess.run(tf.matrix_diag([[1,2,3],[4,5,6]])) # 返回 批对角阵 的 对角元素 print '\ntf.matrix_diag_part([x, x]) : \n', sess.run(tf.matrix_diag_part([x, x])) # 返回矩阵的 上三角矩阵 print '\ntf.matrix_band_part(x, 0, -1) : \n', sess.run(tf.matrix_band_part(x, 0, -1)) # 返回矩阵的 下三角矩阵 print '\ntf.matrix_band_part(x, -1, 0) : \n', sess.run(tf.matrix_band_part(x, -1, 0)) # 返回矩阵的 对角矩阵 print '\ntf.matrix_band_part(x, 0, 0) : \n', sess.run(tf.matrix_band_part(x, 0, 0)) # 将输入矩阵的对角元素置换为对角元素 print '\ntf.matrix_set_diag(x, y) : \n', sess.run(tf.matrix_set_diag(x, y)) # 返回 转置矩阵 print '\ntf.matrix_transpose(x) : \n', sess.run(tf.matrix_transpose(x)) # 矩阵乘法 print '\ntf.matmul(x, x) : \n', sess.run(tf.matmul(x, x)) # 求 范数 print '\ntf.norm(x_f) : \n', sess.run(tf.norm(x_f)) # 求 行列式 print '\ntf.matrix_determinant(x_f) : \n', sess.run(tf.matrix_determinant(x_f)) # 求 逆矩阵 print '\ntf.matrix_inverse(x_f) : \n', sess.run(tf.matrix_inverse(x_f)) # 进行 cholesky分解 print '\ntf.cholesky(tf.constant([[2, -1], [-1, 5]], dtype=tf.float32))) : \n', sess.run(tf.cholesky(tf.constant([[2, -1], [-1, 5]], dtype=tf.float32))) # 对矩阵进行 qr分解 print '\ntf.qr(x_f) : \n', sess.run(tf.qr(x_f)) # 求取 特征值 和 特征向量 print '\ntf.tf.self_adjoint_eig(x_f) : \n', sess.run(tf.self_adjoint_eig(x_f)) # 计算 多个矩阵 的 特征值 print '\ntf.self_adjoint_eigvals([x_f, x_f]) : \n', sess.run(tf.self_adjoint_eigvals([x_f, x_f])) # 进行 奇异值分解 print '\ntf.svd(x_f) : \n', sess.run(tf.svd(x_f))
tf.diag(y) : [[10 0 0] [ 0 20 0] [ 0 0 30]]tf.diag_part(x) : [1 2 3]tf.trace(x) : 6tf.transpose(x) : [[1 0 0] [5 2 0] [0 0 3]]tf.eye(3) : [[ 1. 0. 0.] [ 0. 1. 0.] [ 0. 0. 1.]]tf.matrix_diag([[1,2,3],[4,5,6]]) : [[[1 0 0] [0 2 0] [0 0 3]] [[4 0 0] [0 5 0] [0 0 6]]]tf.matrix_diag_part([x, x]) : [[1 2 3] [1 2 3]]tf.matrix_band_part(x, 0, -1) : [[1 5 0] [0 2 0] [0 0 3]]tf.matrix_band_part(x, -1, 0) : [[1 0 0] [0 2 0] [0 0 3]]tf.matrix_band_part(x, 0, 0) : [[1 0 0] [0 2 0] [0 0 3]]tf.matrix_set_diag(x, y) : [[10 5 0] [ 0 20 0] [ 0 0 30]]tf.matrix_transpose(x) : [[1 0 0] [5 2 0] [0 0 3]]tf.matmul(x, x) : [[ 1 15 0] [ 0 4 0] [ 0 0 9]]tf.norm(x_f) : 6.245tf.matrix_determinant(x_f) : 6.0tf.matrix_inverse(x_f) : [[ 1. -2.5 0. ] [ 0. 0.5 0. ] [ 0. 0. 0.33333334]]tf.cholesky(tf.constant([[2, -1], [-1, 5]], dtype=tf.float32))) : [[ 1.41421354 0. ] [-0.70710677 2.12132025]]tf.qr(x_f) : Qr(q=array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]], dtype=float32), r=array([[ 1., 5., 0.], [ 0., 2., 0.], [ 0., 0., 3.]], dtype=float32))tf.tf.self_adjoint_eig(x_f) : (array([ 1., 2., 3.], dtype=float32), array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]], dtype=float32))tf.self_adjoint_eigvals([x_f, x_f]) : [[ 1. 2. 3.] [ 1. 2. 3.]]tf.svd(x_f) : (array([ 5.46498585, 3. , 0.36596629], dtype=float32), array([[ 0.93272191, 0. , 0.36059672], [ 0.36059672, 0. , -0.93272191], [ 0. , 1. , 0. ]], dtype=float32), array([[ 0.17067236, 0. , 0.9853279 ], [ 0.9853279 , 0. , -0.17067236], [ 0. , 1. , 0. ]], dtype=float32))
Tensor Math Function
tf.tensordot
# coding=utf-8import tensorflow as tfx = tf.constant([[1,5,0],[0,2,0],[0,0,3]])x_f = tf.cast(x, tf.float32)y = tf.constant([10, 20, 30])with tf.Session() as sess: # 同numpy.tensordot,根据axis计算点乘。输入:axes=1或axes=[[1],[0]],即为矩阵乘。 print '\ntf.tensordot(x, x, axes=1) : \n', sess.run(tf.tensordot(x, x, axes=1))
tf.tensordot(x, x, axes=1) : [[ 1 15 0] [ 0 4 0] [ 0 0 9]]
Complex Number Functions
tf.complex、tf.conj、tf.imag、tf.real
# coding=utf-8import tensorflow as tfx = tf.constant([[1,5,0],[0,2,0],[0,0,3]])x_f = tf.cast(x, tf.float32)y = tf.constant([10, 20, 30])with tf.Session() as sess: # 将实数 转化为 复数 print '\ntf.complex(x_f, x_f) : \n', sess.run(tf.complex(x_f, x_f)) # 返回 x的 共轭复数 print '\ntf.conj(tf.constant([1+2j, 2-3j])) : \n', sess.run(tf.conj(tf.constant([1+2j,2-3j]))) # 返回 虚数部分 print '\ntf.imag(tf.constant([1+2j,2-3j])): \n', sess.run(tf.imag(tf.constant([1+2j,2-3j]))) # 返回 实数部分 print '\ntf.real(tf.constant([1+2j,2-3j])): \n', sess.run(tf.real(tf.constant([1+2j,2-3j])))
tf.complex(x_f, x_f) : [[ 1.+1.j 5.+5.j 0.+0.j] [ 0.+0.j 2.+2.j 0.+0.j] [ 0.+0.j 0.+0.j 3.+3.j]]tf.conj(tf.constant([1+2j, 2-3j])) : [ 1.-2.j 2.+3.j]tf.imag(tf.constant([1+2j,2-3j])): [ 2. -3.]tf.real(tf.constant([1+2j,2-3j])): [ 1. 2.]
Reduction
tf.reduce_sum、tf.reduce_prod、tf.reduce_min、tf.reduce_max、tf.reduce_mean、tf.reduce_all、tf.reduce_any、tf.reduce_logsumexp、tf.count_nonzero、tf.accumulate_n
# coding=utf-8import tensorflow as tfx = tf.constant(range(1, 10), shape=[3, 3])x_bool = tf.constant([[True,True,False,False],[True,False,False,True]])with tf.Session() as sess: # 沿着维度axis 计算 元素和 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_sum(x) : \n', sess.run(tf.reduce_sum(x)) print '\ntf.reduce_sum(x, axis=0) : \n', sess.run(tf.reduce_sum(x, axis=0)) print '\ntf.reduce_sum(x, axis=1) : \n', sess.run(tf.reduce_sum(x, axis=1)) # 沿着维度axis 计算 元素积 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_prod(x) : \n', sess.run(tf.reduce_prod(x)) print '\ntf.reduce_prod(x, axis=0) : \n', sess.run(tf.reduce_prod(x, axis=0)) print '\ntf.reduce_prod(x, axis=1) : \n', sess.run(tf.reduce_prod(x, axis=1)) # 沿着维度axis 计算 最小值 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_min(x) : \n', sess.run(tf.reduce_min(x)) print '\ntf.reduce_min(x, axis=0) : \n', sess.run(tf.reduce_min(x, axis=0)) print '\ntf.reduce_min(x, axis=1) : \n', sess.run(tf.reduce_min(x, axis=1)) # 沿着维度axis 计算 最大值 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_max(x) : \n', sess.run(tf.reduce_max(x)) print '\ntf.reduce_max(x, axis=0) : \n', sess.run(tf.reduce_max(x, axis=0)) print '\ntf.reduce_max(x, axis=1) : \n', sess.run(tf.reduce_max(x, axis=1)) # 沿着维度axis 计算 均值 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_mean(x) : \n', sess.run(tf.reduce_mean(x)) print '\ntf.reduce_mean(x, axis=0) : \n', sess.run(tf.reduce_mean(x, axis=0)) print '\ntf.reduce_mean(x, axis=1) : \n', sess.run(tf.reduce_mean(x, axis=1)) # 沿着维度axis 计算 逻辑与 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_all(x_bool) : \n', sess.run(tf.reduce_all(x_bool)) print '\ntf.reduce_all(x_bool, ax_boolis=0) : \n', sess.run(tf.reduce_all(x_bool, axis=0)) print '\ntf.reduce_all(x_bool, ax_boolis=1) : \n', sess.run(tf.reduce_all(x_bool, axis=1)) # 沿着维度axis 计算 逻辑或 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_any(x_bool) : \n', sess.run(tf.reduce_any(x_bool)) print '\ntf.reduce_any(x_bool, ax_boolis=0) : \n', sess.run(tf.reduce_any(x_bool, axis=0)) print '\ntf.reduce_any(x_bool, ax_boolis=1) : \n', sess.run(tf.reduce_any(x_bool, axis=1)) # 沿着维度axis 计算 log(sum(exp())) 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 print '\ntf.reduce_min(x) : \n', sess.run(tf.reduce_min(x)) print '\ntf.reduce_min(x, axis=0) : \n', sess.run(tf.reduce_min(x, axis=0)) print '\ntf.reduce_min(x, axis=1) : \n', sess.run(tf.reduce_min(x, axis=1)) # 沿着维度axis 计算 非0个数 。axis=None 时沿所有维度求和;keep_dims=True 时阶数保持不变。 a = tf.constant([[0,0,0], [0,1,2]]) print '\ntf.count_nonzero(a) : \n', sess.run(tf.count_nonzero(a)) print '\ntf.count_nonzero(a, axis=0) : \n', sess.run(tf.count_nonzero(a, axis=0)) print '\ntf.count_nonzero(a, axis=1) : \n', sess.run(tf.count_nonzero(a, axis=1)) # 相对位置 元素相加 print '\ntf.accumulate_n([x, x]) : \n', sess.run(tf.accumulate_n([x, x]))
tf.reduce_sum(x) : 45tf.reduce_sum(x, axis=0) : [12 15 18]tf.reduce_sum(x, axis=1) : [ 6 15 24]tf.reduce_prod(x) : 362880tf.reduce_prod(x, axis=0) : [ 28 80 162]tf.reduce_prod(x, axis=1) : [ 6 120 504]tf.reduce_min(x) : 1tf.reduce_min(x, axis=0) : [1 2 3]tf.reduce_min(x, axis=1) : [1 4 7]tf.reduce_max(x) : 9tf.reduce_max(x, axis=0) : [7 8 9]tf.reduce_max(x, axis=1) : [3 6 9]tf.reduce_mean(x) : 5tf.reduce_mean(x, axis=0) : [4 5 6]tf.reduce_mean(x, axis=1) : [2 5 8]tf.reduce_all(x_bool) : Falsetf.reduce_all(x_bool, ax_boolis=0) : [ True False False False]tf.reduce_all(x_bool, ax_boolis=1) : [False False]tf.reduce_any(x_bool) : Truetf.reduce_any(x_bool, ax_boolis=0) : [ True True False True]tf.reduce_any(x_bool, ax_boolis=1) : [ True True]tf.reduce_min(x) : 1tf.reduce_min(x, axis=0) : [1 2 3]tf.reduce_min(x, axis=1) : [1 4 7]tf.count_nonzero(a) : 2tf.count_nonzero(a, axis=0) : [0 1 1]tf.count_nonzero(a, axis=1) : [0 2]tf.accumulate_n([x, x]) : [[ 2 4 6] [ 8 10 12] [14 16 18]]
Scan
tf.cumsum、tf.cumprod
# coding=utf-8import tensorflow as tfx = tf.constant(range(1, 10), shape=[3, 3])x_bool = tf.constant([[True,True,False,False],[True,False,False,True]])with tf.Session() as sess: # 沿着维度axis 进行 累加 。axis=None 时沿所有维度累加。 print '\ntf.cumsum(x) : \n', sess.run(tf.cumsum(x)) print '\ntf.cumsum(x, axis=0) : \n', sess.run(tf.cumsum(x, axis=0)) print '\ntf.cumsum(x, axis=1) : \n', sess.run(tf.cumsum(x, axis=1)) # 沿着维度axis 进行 累积 。axis=None 时沿所有维度累加。 print '\ntf.cumprod(x) : \n', sess.run(tf.cumprod(x)) print '\ntf.cumprod(x, axis=0) : \n', sess.run(tf.cumprod(x, axis=0)) print '\ntf.cumprod(x, axis=1) : \n', sess.run(tf.cumprod(x, axis=1))
tf.cumsum(x) : [[ 1 2 3] [ 5 7 9] [12 15 18]]tf.cumsum(x, axis=0) : [[ 1 2 3] [ 5 7 9] [12 15 18]]tf.cumsum(x, axis=1) : [[ 1 3 6] [ 4 9 15] [ 7 15 24]]tf.cumprod(x) : [[ 1 2 3] [ 4 10 18] [ 28 80 162]]tf.cumprod(x, axis=0) : [[ 1 2 3] [ 4 10 18] [ 28 80 162]]tf.cumprod(x, axis=1) : [[ 1 2 6] [ 4 20 120] [ 7 56 504]]
Segmentation
Sequence Comparison and Indexing
tf.argmin、tf.argmax
# coding=utf-8import tensorflow as tfx = tf.constant(range(1, 10), shape=[3, 3])x_bool = tf.constant([[True,True,False,False],[True,False,False,True]])with tf.Session() as sess: # 返回 沿axis维度 最小值 的 下标。axis=None 时 返回 全局 最小值 的下标。 print '\ntf.argmin(x) : \n', sess.run(tf.argmin(x)) print '\ntf.argmin(x, axis=0) : \n', sess.run(tf.argmin(x, axis=0)) print '\ntf.argmin(x, axis=1) : \n', sess.run(tf.argmin(x, axis=1)) # 返回 沿axis维度 最大值 的 下标。axis=None 时 返回 全局 最大值 的下标。 print '\ntf.argmax(x) : \n', sess.run(tf.argmax(x)) print '\ntf.argmax(x, axis=0) : \n', sess.run(tf.argmax(x, axis=0)) print '\ntf.argmax(x, axis=1) : \n', sess.run(tf.argmax(x, axis=1))
tf.argmin(x) : [0 0 0]tf.argmin(x, axis=0) : [0 0 0]tf.argmin(x, axis=1) : [0 0 0]tf.argmax(x) : [2 2 2]tf.argmax(x, axis=0) : [2 2 2]tf.argmax(x, axis=1) : [2 2 2]
阅读全文
1 0
- tensorflow编程: Math
- Tensorflow: Math基础
- Tensorflow: Math变量初始化
- tensorflow math api 汇总表
- Tensorflow API Math
- Tensorflow的SWIG编程
- Tensorflow的Eigen编程
- Tensorflow的StreamExecutor编程
- TensorFlow编程模型
- tensorflow编程: Running Graphs
- tensorflow编程: Layers (contrib)
- tensorflow编程: Control Flow
- tensorflow编程: Building Graphs
- tensorflow编程: Neural Network
- tensorflow编程: Variables
- linux下编程使用math.h函数库
- java编程中的java.lang.Math类
- TensorFlow学习笔记:编程模型
- 无法访问webapp下面的静态资源
- Codeforces Round #364 (Div. 2) E Connecting Universities
- 遇到的hibernate 问题
- iOS11和iOS10有什么区别?
- poj 3264 Balanced Lineup
- tensorflow编程: Math
- srpingMVC02注解
- 【机器学习笔记】Locally Weighted Regression (Loess)
- Shopping Gym
- 我与博客的故事之纪念
- 二分查找算法原理及其java循环实现
- os模块和fileinput模块的用法解析
- 归并分治找最大连续子序列
- centos下网络配置四种方式