关于torch.scatter_

关于torch.scatter_  ,看了几篇博客没大看懂,自己手动调调终于搞懂了 2021-2-4 16:21:20
    """解析:
     第0维表示 dst[index[i][j]][j] = x[i][j]
     比如 dst[index[1][3]][3] = x[1][3]
     即   dst[1][3] = x[1][3]=0.0943 # index[1][3]=1
     
     再如 dst[index[1][4]][4] = x[1][4]
     即   dst[2][4] = x[1][4]=0.0266 # index[1][4]=2
    """
    x=torch.Tensor([[0.1940, 0.3340, 0.8184, 0.4269, 0.5945],
                    [0.2078, 0.5978, 0.0074, 0.0943, 0.0266]])
    index=torch.tensor([[0, 1, 2, 0, 0], [2, 0, 0, 1, 2]])
    dst=torch.zeros(3, 5)
    dst.scatter_(0, index, x) # 0表示沿第0维进行修改
    >>>dst:tensor([[0.1940, 0.5978, 0.0074, 0.4269, 0.5945],
                   [0.0000, 0.3340, 0.0000, 0.0943, 0.0000],
                   [0.2078, 0.0000, 0.8184, 0.0000, 0.0266]])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值