快捷方式

torch.triu_indices

torch.triu_indices(row, col, offset=0, *, dtype=torch.long, device='cpu', layout=torch.strided) Tensor

返回 row x col 矩阵的上三角部分的索引,为一个 2 行 N 列的 Tensor。其中第一行包含所有索引的行坐标,第二行包含列坐标。索引按照行然后列的顺序排序。

矩阵的上三角部分定义为对角线及上方的元素。

参数 offset 控制要考虑的对角线。如果 offset = 0,则保留主对角线及上方的所有元素。正值会排除主对角线上方相同数量的对角线,类似地,负值会包含主对角线下方相同数量的对角线。主对角线是索引集合 {(i,i)}\lbrace (i, i) \rbrace,其中 i[0,min{d1,d2}1]i \in [0, \min\{d_{1}, d_{2}\} - 1]d1,d2d_{1}, d_{2} 是矩阵的维度。

注意

在 CUDA 上运行时,row * col 必须小于 2592^{59} 以防止计算期间溢出。

参数
  • row (int) – 2-D 矩阵中的行数。

  • col (int) – 2-D 矩阵中的列数。

  • offset (int) – 相对于主对角线的偏移量。默认值:如果未提供,则为 0。

关键字参数
  • dtype (torch.dtype, optional) – 返回 tensor 所需的数据类型。默认值:如果为 None,则为 torch.long

  • device (torch.device, optional) – 返回 tensor 所需的设备。默认值:如果为 None,则使用默认 tensor 类型的当前设备(参见 torch.set_default_device())。对于 CPU tensor 类型,device 将是 CPU;对于 CUDA tensor 类型,将是当前 CUDA 设备。

  • layout (torch.layout, optional) – 目前仅支持 torch.strided

示例

>>> a = torch.triu_indices(3, 3)
>>> a
tensor([[0, 0, 0, 1, 1, 2],
        [0, 1, 2, 1, 2, 2]])

>>> a = torch.triu_indices(4, 3, -1)
>>> a
tensor([[0, 0, 0, 1, 1, 1, 2, 2, 3],
        [0, 1, 2, 0, 1, 2, 1, 2, 2]])

>>> a = torch.triu_indices(4, 3, 1)
>>> a
tensor([[0, 0, 1],
        [1, 2, 2]])

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源