谈谈我对张量(tensor)的理解

一、个人的理解

        假设标量(scalar)是一个特殊的张量;张量是张量的有序组合。定义张量为t,那么可以得到以下的理解:

        如果我们用树(tree)型数据结构(data structure)描述张量,那么树上的节点就是张量。而树的根节点为t,树的内部节点为张量,树的叶子节点为标量。

        (备注:内部节点就是非叶子节点)

二、思考

        现在我们从张量的shape来思考。假设张量t的shape为(m, n, r),那么张量t的根节点为t本身,用于描述张量t的树的高度为3。当dim=0时,树高为0的节点(根节点)是m个张量的有序组合;当dim=1时,在树高为1的节点是n个张量的有序组合;当dim=2时,树高为2的节点是r个张量的有序组合,此时这r个张量都是标量,它们均为树的叶子节点。注意这里的节点就是张量,张量就是节点,不做区分。

        如下图所示,shape=(3, 1, 4)的张量t的可视化。

三、推广

        当张量的shape=(m, n, r, s,...)时,依然可以通过树的结构来对张量进行可视化描述。通过这样的可视化描述,你能够一层一层地看到张量实际上的样子,而每一个dim究竟是什么意思,shape中的每一个数又有着什么样的含义。

四、结束语

        以上均是个人的理解。主要是由于网上看了一些其他人写的理解,觉得把张量讲得太复杂,尤其是画格子的那些,一层一层的嵌套,我人都懵了,看完了还是不能够明白什么是dim、shape的意思是什么,什么一维、二维、三维,甚至是四维五维,三维还好,但是四维五维是真的难想象!

        我的灵感主要是源于算法与数据结构对于数据的描述。讲真的,其实我感觉张量的本质是一个向量。因为你看上图的那些叶子节点,是不是排起来像一个向量?

        如果博客中有何冒犯,或者有何不对的地方,敬请留言,欢迎交流与批评指正!感谢你能够看到这里。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飞机火车巴雷特

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

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

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

打赏作者

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

抵扣说明:

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

余额充值