自己通过网上查询的有关张量的解释,稍作整理。

TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.

在TensorFlow系统中,张量的维数来被描述为阶.但是张量的阶和矩阵的阶并不是同一个概念.张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述.比如,下面的张量(使用Python中list定义的)就是2阶.

    t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

你可以认为一个二阶张量就是我们平常所说的矩阵,一阶张量可以认为是一个向量.对于一个二阶张量你可以用语句t[i, j]来访问其中的任何元素.而对于三阶张量你可以用't[i, j, k]'来访问其中的任何元素.

数学实例 Python 例子
0 纯量 (只有大小) s = 483
1 向量(大小和方向) v = [1.1, 2.2, 3.3]
2 矩阵(数据表) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3 3阶张量 (数据立体) t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]
n n阶 (自己想想看) ....

张量是所有深度学习框架中最核心的组件,因为后续的所有运算和优化算法都是基于张量进行的。几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。

举例来说,我们可以将任意一张RGB彩色图片表示成一个三阶张量(三个维度分别是图片的高度、宽度和色彩数据)。如下图所示是一张普通的水果图片,按照RGB三原色表示,其可以拆分为三张红色、绿色和蓝色的灰度图片,如果将这种表示方法用张量的形式写出来,就是图中最下方的那张表格。

图中只显示了前5行、320列的数据,每个方格代表一个像素点,其中的数据[1.0, 1.0, 1.0]即为颜色。假设用[1.0, 0, 0]表示红色,[0, 1.0, 0]表示绿色,[0, 0, 1.0]表示蓝色,那么如图所示,前面5行的数据则全是白色。

将这一定义进行扩展,我们也可以用四阶张量表示一个包含多张图片的数据集,其中的四个维度分别是:图片在数据集中的编号,图片高度、宽度,以及色彩数据。

最新文章

  1. 关于angularjs指令
  2. [C#] 使用NPOI将Datatable保存到Excel
  3. NPOI 自定义单元格背景颜色-Excel
  4. ov5648摄像头调试
  5. Android遍历获取Office格式(Word,Excel,PPT,PDF)的文件并打开
  6. 解决hadoop启动后datanode无法启动问题
  7. CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached
  8. centos7 配置vnc
  9. java消息队列
  10. java多线程之 Executors线程池管理
  11. php-cli模式学习(PHP命令行模式)(转)
  12. (转载)一步一步学Linq to sql系列文章
  13. poj2192(搜索)
  14. dubbo 运行过程
  15. 为什么设计模式在C++社区没有Java社区流行?
  16. Radar Installation(贪心,可以转化为今年暑假不ac类型)
  17. 隐马尔科夫模型HMM(一)HMM模型
  18. python如何安装pip及venv管理
  19. SPFA找最大比例环
  20. 原生js简单轮播图 代码

热门文章

  1. python字典的常用操作,数据类型划分
  2. HTML中使用js的三种方式及优缺点介绍
  3. java_List接口
  4. AM历史消息及文件记录删除
  5. Oracle Database 18c数据库安装步骤
  6. leetcode-第五场双周赛-1134-阿姆斯特朗数
  7. Ubuntu 快速安装配置Odoo 12
  8. LUOGU P1291 [SHOI2002]百事世界杯之旅 (期望dp)
  9. Zuul上传文件
  10. Hystrix容错处理