博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
张量不同数轴的平均值计算
阅读量:4554 次
发布时间:2019-06-08

本文共 2001 字,大约阅读时间需要 6 分钟。

转载:

http://blog.csdn.net/caimouse/article/details/59495858;

一、概述

在里研究的物体的关系,都是比较复杂的。比如一个图片32X32大小的,它的像素信息就有1024个点,如果考虑RGB三种颜色,就是1024X3了。对于目前还没有办法构造140亿个神经元的计算机来说,只能干一件事情,就是简化,化繁为简。为了简化,就需要使用来进行,在数学上最简单的处理,就是求平均值。这个道理非常简单,如果10个数,只要把它们相加,再除以10即可。对于0维数字,可以这样来计算,如果对于N维的张量,就不是这么简单的计算了。就拿二维的矩阵来说,它可以横着算,还可以是竖着算,还可以全部加到一起,再除以总数。可见对于N维的张量来说,有更多的可能,那么就得抽像一个数轴出来。数轴在初中的代数就学习了,可见数轴在高等数学里也会使用到的,N维张量,就是N个数轴的表示,如果沿着不同的数轴进行计算,就会产生不同的作用。其实平均值也可以算是降维思想的一种。

在TF里,就提供了这样一个算法来计算张量的平均值:

二、tf.reduce_mean(input_tensor,  axis=None,  keep_dims=False,  name=None,  reduction_indices=None)

沿着张量不同的数轴进行计算平均值

三、参数:

input_tensor: 被计算的张量,确保为数字类型。

axis: 方向数轴,如果没有指明,默认是所有数轴都减小为1。

keep_dims: 如果定义true, 则保留维数,但数量个数为0.

name: 操作过程的名称。

reduction_indices: 为了旧函数兼容的数轴。

返回值:

降低维数的平均值。

三、实战

import tensorflow as tf#创建张量  x = tf.Variable([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]);#显示init = tf.global_variables_initializer();with tf.Session() as sess:    sess.run(init);    #tf.reduce_mean(input_tensor,  axis=None,  keep_dims=False,  name=None,  reduction_indices=None)    y = tf.reduce_mean(x);    y01 = tf.reduce_mean(x, axis=0, keep_dims=False);    y02 = tf.reduce_mean(x, axis=0, keep_dims=True);    y1 = tf.reduce_mean(x, axis=1);        print("x = ", x.eval());    print("tf.reduce_mean(x) = ", y.eval());    print("tf.reduce_mean(x, axis=0, keep_dims=False) = ", y01.eval());    print("tf.reduce_mean(x, axis=0, keep_dims=True) = ", y02.eval())    print("tf.reduce_mean(x, axis=1) = ", y1.eval());

执行结果:

('x = ', array([[ 1.,  2.,  3.],       [ 4.,  5.,  6.],       [ 7.,  8.,  9.]], dtype=float32))('tf.reduce_mean(x) = ', 5.0)('tf.reduce_mean(x, axis=0, keep_dims=False) = ', array([ 4.,  5.,  6.], dtype=float32))('tf.reduce_mean(x, axis=0, keep_dims=True) = ', array([[ 4.,  5.,  6.]], dtype=float32))('tf.reduce_mean(x, axis=1) = ', array([ 2.,  5.,  8.], dtype=float32))

总结:

tf.reduce_mean(x)表示计算全局平均值;
tf.reduce_mean(x, axis=0)表示计算y轴平均值;
tf.reduce_mean(x, axis=1)表示计算x轴平均值;
 

 

转载于:https://www.cnblogs.com/yuzhuwei/p/6986171.html

你可能感兴趣的文章
androidtab
查看>>
Windows Phone 自定义弹出框和 Toast 通知
查看>>
如何生成静态页面的五种方案
查看>>
php 事件驱动 消息机制 共享内存
查看>>
剑指offer 二叉树的bfs
查看>>
LeetCode Maximum Subarray
查看>>
Ubuntu 14.04 更新源
查看>>
kafka生产者与消费者
查看>>
单元测试框架"艾信.NET单元测试工具(AssionUnit)"开发---第二步
查看>>
git 项目最常用命令总结
查看>>
[Arduino] 在串口读取多个字符串,并且转换为数字数组
查看>>
redis-window 集群配置
查看>>
4.1.6 Grundy数-硬币游戏2
查看>>
图像处理的软件
查看>>
Sql 2000系统表 语句查询表结构
查看>>
[CentOS_7.4]Linux编译安装ffmpeg
查看>>
大数据存储平台之异构存储实践深度解读
查看>>
1.2 Stream API
查看>>
Less2css error 终极解决方案
查看>>
DNS服务器的原理
查看>>