Fonction torch.triu_indices de PyTorch


Pytorch torch 参考手册Manuel de référence PyTorch torch

torch.triu_indicesIl s'agit d'une fonction de PyTorch utilisée pour générer les indices d'une matrice triangulaire supérieure. Elle renvoie les indices de ligne et de colonne de la partie triangulaire supérieure (y compris la diagonale).

Définition de fonction

torch.triu_indices(row, column, offset=0, dtype=torch.long, device='cpu')

Description des paramètres :

  • row: Nombre de lignes
  • column: Nombre de colonnes
  • offset: Décalage diagonal
  • dtype: Type de données renvoyé
  • device: Périphérique

Exemples d'utilisation

Exemple

import torch

# Générer les indices de la partie triangulaire supérieure d'une matrice 3x3
row, col = torch.triu_indices(3, 3)
print("row:", row)
print("col:", col)

La sortie est :

row: tensor([0, 0, 0, 1, 1, 2])
col: tensor([0, 1, 2, 1, 2, 2])

Exemple

import torch

# Générer des indices et les utiliser pour les opérations d'indexation
row, col = torch.triu_indices(3, 3, offset=1)

# Créer une matrice 3x3
a = torch.ones(3, 3)

# Utiliser les indices pour définir la partie triangulaire supérieure
a[row, col] = 0
print(a)

La sortie est :

tensor([[1., 1., 1.],
        [0., 1., 1.],
        [0., 0., 1.]])

Exemple

import torch

# Cas d'une matrice non carrée
row, col = torch.triu_indices(3, 4)
print("row:", row)
print("col:", col)

La sortie est :

row: tensor([0, 0, 0, 1, 1, 2])
col: tensor([0, 1, 2, 1, 2, 2])

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions