当前位置:   article > 正文

理解张量及张量的Rank和Shape

张量的rank

理解张量及张量的Rank和Shape

入门TensorFlow的第一道拦路虎就是对Tensor的理解。 以下是我在理解张量的过程中的一些总结。

什么是张量

这是bilibili搬运youtube的一个视频,很直观的解释了张量的含义。

张量是对标量,矢量,矩阵的推广。张量的表达看起来像是数组,其实每个值是在对应空间上的分量的大小。基向量和分量一起形成了张量的表达,他在物理学上的优点是,当基向量发生变化的时候(坐标系发生变化或者说是观察方向发生了变化),对应的分量也会发生变化,但整个张量却能保持不变。

下图是对张量从直观上给出的示意。一阶张量可以理解成一个向量,二阶张量可以理解成矩阵,三阶张量可以理解成立方体,四阶张量可以理解成立方体组成的一个向量,五阶张量可以理解成立方体组成的矩阵,依次类推。

什么是Rank

Rank就是上文所说的阶。他是指这个张量拥有的基底向量的数量,也就是他的方向的数量。从上图中其实能看明白为什么是一阶、二阶、三阶。下图是一个示意。

在实际操作中,可以理解成[的深度。例如:

rank=1: [0,1,2]

rank=2: [[0,1],[2,3]]

rank=3: [[[0,1],[2,3]],[[4,5],[6,7]]]

什么是Shape

shape是形状,他是指明每一层有多少个元素。比如[2,3,4]是指第一层2个元素,第二层3个元素,第三层4个元素,通过这个我们就可以知道这个张量一共有2 × 3 × 4=24 个元素。上面的rank=3的张量,他的shape是[4,2]。下面这个代码也能说明问题。

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  1. import tensorflow as tf
  2. # 定义了一个张量,有6个元素,设置他的形状是[2.3]
  3. a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2,3])
  4. with tf.Session() as session:
  5. print(session.run(a))

打印的结果是

[[1 2 3]
[4 5 6]]

END

转自:https://www.lefer.cn/posts/34475/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/176294?site
推荐阅读
相关标签
  

闽ICP备14008679号