tf.reduce_sum tensorflow维度上的操作
tensorflow中有很多在维度上的操作,本例以常用的tf.reduce_sum进行说明。官方给的api
reduce_sum( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None )
input_tensor:表示输入
axis:表示在那个维度进行sum操作。
keep_dims:表示是否保留原始数据的维度,False相当于执行完后原始数据就会少一个维度。
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 # 0轴 1轴,0轴加后只有一个1轴了,再1轴加成一个点
第二个参数表示在那个轴上的运算;
自己做的例子:
import tensorflow as tf import numpy as np x = np.asarray([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) x_p = tf.placeholder(tf.int32,[2,2,3]) y = tf.reduce_sum(x_p,0) #修改这里 with tf.Session() as sess: y = sess.run(y,feed_dict={x_p:x}) print y
axis= 0:[[ 8 10 12] [14 16 18]]
1+7 2+8 3+7 ……..
axis=1: [[ 5 7 9] [17 19 21]]
1+4 2+5 3 +6 ….
axis=2: [[ 6 15] [24 33]]
1+2+3 4+5+6…..
原文:https://blog.csdn.net/lxg0807/article/details/74625861
作者:柒月
Q群 :2122210(嵌入式/机器学习)