关于tensor的shape理解

2022年12月27日10:59:27

关于tensor的shape和dimension

刚把mnist又过了一遍,突然感觉对tensor的shape有了新的理解,虽然很基础,还是想分享一下

关于tensor的维度,也就是阶啦,从认知上理解,一维就是线(数组或者向量),二维就是面(矩阵),三维就是体(数据体),四维是数据阵列 等等等等;新的理解是在表现方式上的,也就是打印出的样子,例如:
[ [1,1,1] [1,1,1] ]
显然它是二维的,因为一看就是一个矩阵,那如果 [ ] 多了又怎么判断呢,这是个取巧的办法,看第一个数字左边有几个 [ 就行了。
当然,还没进入正题,两个新的理解:

  1. shape[2,3,4] 怎么表示咩?

    首先有一个 [ ] (记为一号[])阔住所有的量,(所有的tensor最外层都会有一个[ ])

    [	]
    

    第一个参数“2”,表示一号 [ ] 中有2个大部分,(记为二号[])

    [[	]	[	]]
    

    第二个参数“3”,表示每个二号 [ ] 中有3个小部分,(记为三号[])

    [[ [] [] [] ]		[ [] [] [] ]]
    

    第三个参数“4”,表示每个三号 [ ] 中有4个数据

举个例子吧

tensor = tf.constant(1,[2,3,4])
'''	
[ [ [1,1,1,1] [1,1,1,1] [1,1,1,1] ]
  [ [1,1,1,1] [1,1,1,1] [1,1,1,1] ] ]
'''

这样应该就看的明白了

  1. 关于这个例子的思考(shape[2,3,4] 中参数2,3,4究竟表示的是什么?

第一个参数“2”表示在第一维中有2个元素,也就是上面所说的2个二号 [ ] ,
第二个参数“3”表示第二维中有3个元素,也就是上面所说的3个三号 [ ] ,
第三个参数“4”自然也就是表示第三维中有4个元素的意思,也就是上面说的每个三号 [ ] 中有4个数据
再总结一下,第n个参数就表示第n维中含有的元素


附上刚开始了解tensor时很有启发的一个视频 Dan Fleisch
这个老师很用心,视频很不错,12分钟了解tensor

  • 作者:SixSheep_
  • 原文链接:https://blog.csdn.net/SixSheep_/article/details/86493682
    更新时间:2022年12月27日10:59:27 ,共 787 字。