【pytorch】使用scatter_()进行one-hot编码
程序员文章站
2024-03-24 23:32:10
...
示例代码
>>> import torch
>>> label = torch.arange(10).view(-1, 1)
>>> label
tensor([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
>>> label_onehot = torch.zeros(10, 10).scatter_(1, label, 1)
>>> label_onehot
tensor([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 1., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 1.]])
温馨提示
scatter() 和 scatter_() 的作用是一样的,只不过 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会。
引用参考
https://pytorch.org/docs/master/tensors.html#torch.Tensor.scatter_
上一篇: android 蓝牙设备监听广播
下一篇: android蓝牙4.0BLE
推荐阅读