pytorch学习笔记(七)——Broadcasting自动扩展

Broadcasting自动扩展 

能够自动扩展且不copy数据,节省数据

Insert 1 dim ahead

Expand dims with size 1 to same size

Feature maps: [4, 32, 14, 14]

Bias: [32, 1, 1] => [1, 32, 1, 1] => [4, 32, 14, 14]

broadcasting的意义

使[4,28,8]的tensor也能与[1]的标量相加(做运算)同时会节省很大的内存

1. for actual demanding

[class, students, scores]

Add bias for every students: +5 score

[4, 32, 8] + [4, 32, 8] ▪ [4, 32, 8] + [5.0]

2. memory consumption

[4, 32, 8] => 1024

[5.0] => 1

使用broadcasting的情况

1.If current dim=1, expand to same

A:[4, 32, 14, 14]

B:[1, 32, 1, 1] => [4, 32, 14, 14]

2.If either has no dim, insert one dim and expand to same

A:[4, 32, 14, 14]

B:[14, 14] => [1, 1, 14, 14] => [4, 32, 14, 14]

3.otherwise, NOT broadcasting-able

A:[4, 32, 14, 14]

B:[2, 32, 14, 14]

此时不能用broadcasting

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值