怎么判断张量的维度(形状(shape)),即如何定义行数、列数和深度的?

举一个三维张量吧

# 3行4列深度为2
const3 = tf.constant([
	[[1,2],[3,4],[5,6],[7,8]],
	[[11, 12], [13, 14], [15, 16], [17, 18]],
    [[21, 22], [23, 24], [25, 26], [27, 28]]
],tf.float16)
shape = (3,4,2)

--借鉴博主奶油松果的图和代码

分析形状 (3, 4, 2)

  1. 最外层的括号(第一个维度)

    • const3包含了三个子列表:
      • [[1, 2], [3, 4], [5, 6], [7, 8]]
      • [[11, 12], [13, 14], [15, 16], [17, 18]]
      • [[21, 22], [23, 24], [25, 26], [27, 28]]
    • 因此,第一个维度的大小是 3,这代表张量的行数。
  2. 第二层的括号(第二个维度)

    • 每个子列表又包含四个小列表:
      • [1, 2], [3, 4], [5, 6], [7, 8]
      • [11, 12], [13, 14], [15, 16], [17, 18]
      • [21, 22], [23, 24], [25, 26], [27, 28]
    • 因此,第二个维度的大小是 4,这代表每行的列数
  3. 最内层的括号(第三个维度)

    • 每个小列表包含两个元素:
      • [1, 2]
      • [11, 12]
      • [21, 22]
    • 因此,第三个维度的大小是 2,这代表每个元素的深度。                                              可以看上边引用的图 的确是这样的哦

形象化理解

可以把这个张量想象成一本书:

  • 书本有3页(行数 = 3)
  • 每页有4个段落(列数 = 4)
  • 每个段落有2个句子(深度 = 2)

所以,整个张量的形状是 (3, 4, 2)

TRM

理解TRM中的 unsqueeze(1)了没,第二个维度(维度1)加上一列,那就是每个子列表里 又包含1个小列表   

最外层的括号(第一个维度)

const3包含了2个子列表:  那就是每个子列表里 又包含1个小列表   每个小列表包含5个元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值