PyTorch torch.triu_indices-Funktion


Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

torch.triu_indicesDies ist eine Funktion in PyTorch, die zum Erzeugen von Indizes einer oberen Dreiecksmatrix verwendet wird. Sie gibt die Zeilen- und Spaltenindizes des oberen Dreiecksanteils zurück (einschließlich der Diagonalen).

Funktionsdefinition

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

Parameterbeschreibung:

  • row: Anzahl der Zeilen
  • column: Anzahl der Spalten
  • offset: Diagonalversatz
  • dtype: Rückgabedatentyp
  • device: Gerät

Anwendungsbeispiele

Beispiel

import torch

# Erzeuge obere Dreiecksindizes einer 3x3-Matrix
row, col = torch.triu_indices(3, 3)
print("row:", row)
print("col:", col)

Die Ausgabe ist:

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

Beispiel

import torch

# Indizes generieren und sie für Indexierungsoperationen verwenden
row, col = torch.triu_indices(3, 3, offset=1)

# Erstelle eine 3x3-Matrix
a = torch.ones(3, 3)

# Verwende Indizes, um den oberen Dreiecksanteil zu setzen
a[row, col] = 0
print(a)

Die Ausgabe ist:

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

Beispiel

import torch

# Fall einer nichtquadratischen Matrix
row, col = torch.triu_indices(3, 4)
print("row:", row)
print("col:", col)

Die Ausgabe ist:

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

Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

Andere Erweiterungen