tensor.scatter_(dim,index,src)的用法

a.scatter_(dim,index,src)意味着根据某种规则将src中数据写入到a当中去,而这种规则正是由dim和index所决定。

self[index[i][j][k]][j][k] = src[i][j][k]  # if dim == 0
self[i][index[i][j][k]][k] = src[i][j][k]  # if dim == 1
self[i][j][index[i][j][k]] = src[i][j][k]  # if dim == 2

 

假设index[i][j][k]=b,dim=0

由以上可以看出index[i][j][k]和src[i][j][k]可以看出index与src是同型的。src上对应元素b在index的位置正好是要映射入a[b][i][j]的位置。

所以不难将上述映射关系引入二维:

self[index[i][j]][j] = src[i][j]  # if dim == 0
self[i][index[i][j]] = src[i][j]  # if dim == 1

当dim=0时,index与src列标一致,可以理解为index的对应列操控src的对应列产生映射。

 

标题

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值