07. Tensorflow2.0中的broadcasting

1. Broadcasting

1.1. Outline

  • expand
  • without copying data
    • VS tf.tile
  • tf.broadcast_to

1.2. Key idea

  • Insert 1 dim ahead if needed
  • Expand dims with size 1 to same size
  • Feature maps: [4, 32, 32, 3]
  • Bias: [3] → [1, 1, 1, 3] → [4, 32, 32, 3]

1.3. How to understand?

  • When it has no axis

    • Create a new concept
    • [classes, students, scores] + [scores]
  • When it has dim of size 1

    • Treat it shared by all
    • [classes, students, scores] + [students, 1]

1.4. Why broadcasting?

  • for real demanding

    • [classes, students, scores]
    • Add bias for every student: + 5 score
    • [4, 32, 8] + [4, 32, 8]
    • [4, 32, 8] + [5.0]
  • memory consumption

    • [4, 32, 8] --> 1024
    • bias=[8]: [5.0, 5.0…] --> 8

2. Broadcastable?

2.1. Match from Last dim!

- if current dim = 1, expand to same
- if either has no dim, insert one dim and expand to same
- otherwise, NOT broadcastable

2.1.1. situation1

  • [4, 32, 14, 14]
  • [1, 32, 1, 1] → [4, 32, 14, 14]

2.1.2. situation2

  • [4, 32, 14, 14]
  • [14, 14] → [1, 1, 14, 14] → [4, 32, 14, 14]

2.1.3. situation3

  • [4, 32, 14, 14]
  • [2, 32, 14, 14]
  • Dim 0 has dim, can NOT insert and expand to same
  • Dim 0 has distinct dim, NOT size 1 Not broadcasting-able

3. Code

3.1. Broadcasting(隐式)

在这里插入图片描述

3.2. tf.broadcast_to(显示)

在这里插入图片描述

3.3. Broadcast VS Tile

在这里插入图片描述

4. 需要全套课程视频+PPT+代码资源可以私聊我-

  • 方式1:CSDN私信我!
  • 方式2:QQ邮箱:594042358@qq.com或者直接加我QQ: 594042358!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值