TensorFlow常用函数实例

Tensorflow的 .reduce_x系列:

reduce系列函数 函数释意
tf.reduce_sum 对张量某一维度求和
tf.reduce_mean 对张量某一维度求平均值
tf.reduce_min 对张量某一维度求最小值
tf.reduce_max 对张量某一维度求最大值

统一格式:
tf.reduce_xxx(input_tensor, reduction_indices=None, keep_dims=False, name=None)

#针对tf.reduce_sum作详细说明
tf.reduce_sum(
	input_tensor,		#输入张量
	axis=None,		#在哪一个维度求和[0:最外层括号,-1:最内层括号]默认对所有维求和	
	keepdims=None,	#True/False分别表示是否保持原来维度
	name=None,		#操作的名称
	reduction_indices=None,#axis原来的用法
	keep_dims=None	#keepdims原来的用法
	)
	
#举个例子
import numpy as np
import tensorflow as tf

a=np.array([[1,2],
		    [3,4]])
b=tf.Variable(a)
c=tf.reduce_sum(b,axis=0,keepdims=False)  #外面括号+降1维
d=tf.reduce_sum(b,axis=1,keepdims=False)  #里面括号+降1维
e=tf.reduce_sum(b,axis=0,keepdims=True)  #外面括号+不降维
f=tf.reduce_sum(b)  #不标明哪一维表示对所有量求和
with tf.Session() as sess:
	sess.run(tf.global_variables_initializer())
	print(sess.run(b))  #[[1,2]
					 [3,4]]
	print(sess.run(c)) #[4,6]  1维
	print(sess.run(d)) #[3
				       7]
	print(sess.run(e)) #[[4,6]]  2维
	print(sess.run(f))  #[10]
#对于二维矩阵axis=0表示对列方向操作、axis=1表示对行方向操作
#对于多维矩阵,可以理解为axis越大,操作越靠括号里面、axis越小,操作越靠外面

tf.reduce_mean()、tf.reduce_max()、tf.reduce_min()以此类推!
注意两个参数:
参数1:axis–对张量哪一维度操作
参数2:keepdims–是否保持原来维度

猜你喜欢

转载自blog.csdn.net/m0_37833142/article/details/88748493