PyTorch torch.tensordot-Funktion
PyTorch torch-Referenzhandbuch
torch.tensordotEs ist eine Funktion in PyTorch, die verwendet wird, um das Skalarprodukt zweier Tensoren entlang angegebener Dimensionen zu berechnen. Es ist eine Tensor-Kontraktionsoperation.
Funktionsdefinition
torch.tensordot(input, other, dims=2)
Parameterbeschreibung:
input: Der erste Eingabetensorother: Der zweite Eingabetensordims: Die Anzahl der zu kontrahierenden Dimensionen oder eine Liste von Dimensionspaaren
Anwendungsbeispiel
Beispiel
import torch
# Zwei eindimensionale Tensoren erstellen
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Das Skalarprodukt berechnen
y = torch.tensordot(a, b, dims=1)
print(y)
# Zwei eindimensionale Tensoren erstellen
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Das Skalarprodukt berechnen
y = torch.tensordot(a, b, dims=1)
print(y)
Das Ausgabeergebnis ist:
tensor(32)
Beispiel
import torch
# Zwei zweidimensionale Tensoren erstellen
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Matrixmultiplikation berechnen (zwei Dimensionen kontrahieren)
y = torch.tensordot(a, b, dims=2)
print(y)
# Zwei zweidimensionale Tensoren erstellen
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Matrixmultiplikation berechnen (zwei Dimensionen kontrahieren)
y = torch.tensordot(a, b, dims=2)
print(y)
Das Ausgabeergebnis ist:
tensor(70)
Beispiel
import torch
# Erstelle einen dreidimensionalen Tensor
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Die zu kontrahierenden Dimensionspaare angeben
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
# Erstelle einen dreidimensionalen Tensor
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Die zu kontrahierenden Dimensionspaare angeben
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
Das Ausgabeergebnis ist:
torch.Size([2, 5])
Andere Erweiterungen