码迷,mamicode.com
首页 > 其他好文 > 详细

tensorflow的reduce_sum方法学习记录

时间:2019-12-25 16:24:34      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:col   使用   ***   input   它的   keep   就是   with   color   

在使用tensorflow时,经常会用到reduce_sum这个函数,表示对数据进行求和,但它的参数的作用却不是那么容易明白。

reduce_sum(
    input_tensor,
    axis=None,
    keep_dims=False,
    name=None,
    reduction_indices=None
)
参数一:axis
沿着哪个维度求和。对于二维的input_tensor张量,0表示按列求和,1表示按行求和,[0, 1]表示先按列求和再按行求和。
x = np.asarray([[1, 1, 1],
                [1, 1, 1]])
x_p = tf.placeholder(tf.int32, [2, 3])

y = tf.reduce_sum(x_p, axis=0)
with tf.Session() as sess:
    output = sess.run(y, feed_dict={x_p: x})
    print(output)

 

输出结果如下:[2 2 2],每一个元素是之前一列元素的和。

若axis=1,则输出是:[3,3];若axis=[0,1],则输出是: 6

参数二:keep_dims

默认值为Flase,表示默认要降维。若设为True,则不降维。

从上面的例子中,可以看到,x是一个二维数组,求和后变成了一位数组,默认降了维度,这是因为keep_dims参数默认Flase,表示降维,若想让结果仍为二维的,可以将keep_dims设置为True

修改上面代码如下:

x = np.asarray([[1, 1, 1],
                [1, 1, 1]])
x_p = tf.placeholder(tf.int32, [2, 3])

y = tf.reduce_sum(x_p, axis=0, keep_dims=True)
with tf.Session() as sess:
    output = sess.run(y, feed_dict={x_p: x})
    print(output)

 

输出结果是:[[2 2 2]], 若将axis设置为1, 输出结果为:[ [3] [3] ]

参数三:reduction_indice

默认值是None,即把input_tensor降到 0维,也就是一个数。对于2维input_tensor,reduction_indices=0时,按列;reduction_indices=1时,按行。注意,reduction_indices与axis不能同时设置。

x = np.asarray([[1, 1, 1],
                [1, 1, 1]])
x_p = tf.placeholder(tf.int32, [2, 3])

y = tf.reduce_sum(x_p,)
with tf.Session() as sess:
    output = sess.run(y, feed_dict={x_p: x})
    print(output)

 

由于上面的代码没有设置reduction_indice,默认降到0维,输出:6

x = np.asarray([[1, 1, 1],
                [1, 1, 1]])
x_p = tf.placeholder(tf.int32, [2, 3])
y = tf.reduce_sum(x_p,reduction_indices=[1])
with tf.Session() as sess:
    output = sess.run(y, feed_dict={x_p: x})
    print(output)

 

 

设置reduction_indices为1,输出是:[3 3], 设置reduction_indices为0,输出是:[2 2 2]。reduction_indices也可以像axis那样配合keep_dims一起使用,不让结果降维。

********************不积跬步无以至千里********************

tensorflow的reduce_sum方法学习记录

标签:col   使用   ***   input   它的   keep   就是   with   color   

原文地址:https://www.cnblogs.com/liangxiyang/p/12096826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!