tensorflow中 tf.reduce_mean函数
2018年04月03日 08:44:42 -牧野- 阅读数:18695
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/dcrmg/article/details/79797826
tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。
-
reduce_mean(input_tensor,
-
axis=None,
-
keep_dims=False,
-
name=None,
-
reduction_indices=None)
- 第一个参数input_tensor: 输入的待降维的tensor;
- 第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值;
- 第三个参数keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
- 第四个参数name: 操作的名称;
- 第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用;
以一个维度是2,形状是[3,3]的tensor举例:
-
import tensorflow as tf
-
x = [[1,2,3],
-
[1,2,3]]
-
xx = tf.cast(x,tf.float32)
-
mean_all = tf.reduce_mean(xx, keep_dims=False)
-
mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False)
-
mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False)
-
with tf.Session() as sess:
-
m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])
-
print m_a # output: 2.0
-
print m_0 # output: [ 1. 2. 3.]
-
print m_1 #output: [ 2. 2.]
如果设置保持原来的张量的维度,keep_dims=True ,结果:
-
print m_a # output: [[ 2.]]
-
print m_0 # output: [[ 1. 2. 3.]]
-
print m_1 #output: [[ 2.], [ 2.]]
类似函数还有:
- tf.reduce_sum :计算tensor指定轴方向上的所有元素的累加和;
- tf.reduce_max : 计算tensor指定轴方向上的各个元素的最大值;
- tf.reduce_all : 计算tensor指定轴方向上的各个元素的逻辑和(and运算);
- tf.reduce_any: 计算tensor指定轴方向上的各个元素的逻辑或(or运算);
tf.equal的使用
2017年05月16日 00:17:41 UESTC_C2_403 阅读数:38506
tf.equal(A, B)是对比这两个矩阵或者向量的相等的元素,如果是相等的那就返回True,反正返回False,返回的值的矩阵维度和A是一样的
-
import tensorflow as tf
-
import numpy as np
-
A = [[1,3,4,5,6]]
-
B = [[1,3,4,3,2]]
-
with tf.Session() as sess:
-
print(sess.run(tf.equal(A, B)))
输出:
[[ True True True False False]]
tf.argmax是tensorflow用numpy的np.argmax实现的,它能给出某个tensor对象在某一维上的其数据最大值所在的索引值,常用于metric(如acc)的计算
tf.argmax()函数中有个axis参数(轴),该参数能指定按照哪个维度计算。
如 在矩阵的结构中,axis可被设置为0或1,分别表示
0:按列计算,1:行计算
下面是具体的示例,便于直观理解(因tf.argmax()的axis的用法与numpy中的argmax相同,为方便起见,本文使用了numpy.argmax()用于示例)
axis=0
当axis=0时,以列为单位,第一列的最大值为索引为3的8,所以第一个值为3,以此类推
axis=1
当axis=1时,以行为单位,第一行的最大值为索引为2的3,所以第一个结果为2
小礼物走一走,来简书关注我
作者:柴柴总
链接:https://www.jianshu.com/p/1aec70f77b36
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。