Fonction torch.tensordot de PyTorch
Manuel de référence PyTorch torch
torch.tensordotC'est une fonction de PyTorch utilisée pour calculer le produit scalaire de deux tenseurs le long de dimensions spécifiées. C'est une opération de contraction tensorielle.
Définition de fonction
torch.tensordot(input, other, dims=2)
Description des paramètres :
input: Le premier tenseur d'entréeother: Le deuxième tenseur d'entréedims: Le nombre de dimensions à contracter ou une liste de paires de dimensions
Exemple d'utilisation
Exemple
import torch
# Créer deux tenseurs unidimensionnels
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Calculer le produit scalaire
y = torch.tensordot(a, b, dims=1)
print(y)
# Créer deux tenseurs unidimensionnels
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Calculer le produit scalaire
y = torch.tensordot(a, b, dims=1)
print(y)
Le résultat de sortie est:
tensor(32)
Exemple
import torch
# Créer deux tenseurs bidimensionnels
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Calculer la multiplication matricielle (contracter deux dimensions)
y = torch.tensordot(a, b, dims=2)
print(y)
# Créer deux tenseurs bidimensionnels
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Calculer la multiplication matricielle (contracter deux dimensions)
y = torch.tensordot(a, b, dims=2)
print(y)
Le résultat de sortie est:
tensor(70)
Exemple
import torch
# Créer un tenseur tridimensionnel
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Spécifier les paires de dimensions à contracter
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
# Créer un tenseur tridimensionnel
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Spécifier les paires de dimensions à contracter
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
Le résultat de sortie est:
torch.Size([2, 5])
Autres extensions