torch.diagonal_scatter¶
- torch.diagonal_scatter(input, src, offset=0, dim1=0, dim2=1) 张量 ¶
将
src
张量的值嵌入到input
张量沿input
对角线元素的位置,参照维度dim1
和dim2
。此函数返回具有新存储空间的张量;它不是一个视图。
参数
offset
控制要考虑哪个对角线如果
offset
= 0,则为主对角线。如果
offset
> 0,则为主对角线上方。如果
offset
< 0,则为主对角线下方。
- 参数
注意
src
的大小必须适当,才能嵌入到input
中。具体来说,它应该与torch.diagonal(input, offset, dim1, dim2)
具有相同的形状。示例
>>> a = torch.zeros(3, 3) >>> a tensor([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) >>> torch.diagonal_scatter(a, torch.ones(3), 0) tensor([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) >>> torch.diagonal_scatter(a, torch.ones(2), 1) tensor([[0., 1., 0.], [0., 0., 1.], [0., 0., 0.]])