tf.reduce_mean()维度变化

不少博文解释过这个函数,但是对axis=0表示行还是列说的很费解。

本文以3维张量为例来补充解释,详细看看输入输出张量维度的变化。代码如下:

import tensorflow as tf

x = [[[1, 2, 3], [4, 5, 6]]]
y = tf.cast(x, tf.float32)
ym = tf.reduce_mean(y)
ym0 = tf.reduce_mean(y, axis=0)
ym1 = tf.reduce_mean(y, axis=1)
ym2 = tf.reduce_mean(y, axis=2)
print("y的维度为", y.shape)
print("tf.reduce_mean(y)的维度为", ym.shape)
print("tf.reduce_mean(y, axis=0)的维度为", ym0.shape)
print("tf.reduce_mean(y, axis=1)的维度为", ym1.shape)
print("tf.reduce_mean(y, axis=2)的维度为", ym2.shape)

输出结果为:

y的维度为 (1, 2, 3)
tf.reduce_mean(y)的维度为 ()
tf.reduce_mean(y, axis=0)的维度为 (2, 3)
tf.reduce_mean(y, axis=1)的维度为 (1, 3)
tf.reduce_mean(y, axis=2)的维度为 (1, 2)

y是3维张量,3个维数为dim0=1,dim1=2,dim2=3。

tf.reduce_mean(y)是对所有数求平均,结果为0维张量,即一个数。

tf.reduce_mean(y, axis=0)在0维上求平均,结果为(dim1=2,dim2=3)维。

tf.reduce_mean(y, axis=1)在1维上求平均,结果为(dim0=1,dim2=3)维。

tf.reduce_mean(y, axis=2)在2维上求平均,结果为(dim0=1,dim1=2)维。

明确了张量维度的变化,就不用纠结是行还是列了,况且行列的概念只适用于2维。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxaxtt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值