torch.diagonal_scatter¶
- torch.diagonal_scatter(input, src, offset=0, dim1=0, dim2=1) Tensor ¶
将
src
张量的值嵌入到input
的对角元素中,相对于dim1
和dim2
。此函数返回一个具有新鲜存储的 tensor;它不返回视图。
offset
控制考虑哪个对角线:如果
offset
= 0,则是主对角线。如果
offset
> 0,则位于主对角线之上。如果
offset
< 0,则位于主对角线之下。
- 参数:
输入(张量)- 输入张量。必须至少是二维的。
src(张量)- 将嵌入到
input
中的张量。offset(整数,可选)- 考虑哪个对角线。默认:0(主对角线)。
dim1(整数,可选)- 按照哪个维度取对角线。默认:0。
dim2(int,可选)- 指定的对角线所在的第二个维度。默认:1。
注意
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.]])