Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Opérations Mathématiques Avec des Tenseurs | Introduction à PyTorch
Essentiels de PyTorch

bookOpérations Mathématiques Avec des Tenseurs

Opérations élément par élément

Les opérations élément par élément sont appliquées à chaque élément du tenseur individuellement. Ces opérations, telles que l'addition, la soustraction et la division, fonctionnent de manière similaire à NumPy :

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Opérations matricielles

PyTorch prend également en charge la multiplication matricielle et le produit scalaire, qui sont réalisés à l'aide de la fonction torch.matmul() :

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Il est également possible d'utiliser l'opérateur @ pour la multiplication matricielle :

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Opérations d’agrégation

Les opérations d’agrégation calculent des statistiques récapitulatives à partir des tenseurs, telles que la somme, la moyenne, la valeur maximale et la valeur minimale, qui peuvent être obtenues à l’aide de leurs méthodes respectives.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy

Les méthodes d’agrégation disposent également de deux paramètres optionnels :

  • dim : spécifie la dimension (similaire à axis dans NumPy) le long de laquelle l’opération est appliquée. Par défaut, si dim n’est pas fourni, l’opération est appliquée à tous les éléments du tenseur ;
  • keepdim : indicateur booléen (False par défaut). Si défini à True, la dimension réduite est conservée comme une dimension de taille 1 dans la sortie, préservant ainsi le nombre original de dimensions.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Diffusion

La diffusion permet des opérations entre des tenseurs de formes différentes en étendant automatiquement les dimensions. Si une révision sur la diffusion est nécessaire, plus de détails sont disponibles ici.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Fonctions mathématiques utiles

PyTorch propose également diverses fonctions mathématiques telles que les exponentielles, les logarithmes et les fonctions trigonométriques.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Laquelle des opérations suivantes effectue correctement une multiplication matricielle dans PyTorch ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 5

bookOpérations Mathématiques Avec des Tenseurs

Glissez pour afficher le menu

Opérations élément par élément

Les opérations élément par élément sont appliquées à chaque élément du tenseur individuellement. Ces opérations, telles que l'addition, la soustraction et la division, fonctionnent de manière similaire à NumPy :

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Opérations matricielles

PyTorch prend également en charge la multiplication matricielle et le produit scalaire, qui sont réalisés à l'aide de la fonction torch.matmul() :

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Il est également possible d'utiliser l'opérateur @ pour la multiplication matricielle :

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Opérations d’agrégation

Les opérations d’agrégation calculent des statistiques récapitulatives à partir des tenseurs, telles que la somme, la moyenne, la valeur maximale et la valeur minimale, qui peuvent être obtenues à l’aide de leurs méthodes respectives.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy

Les méthodes d’agrégation disposent également de deux paramètres optionnels :

  • dim : spécifie la dimension (similaire à axis dans NumPy) le long de laquelle l’opération est appliquée. Par défaut, si dim n’est pas fourni, l’opération est appliquée à tous les éléments du tenseur ;
  • keepdim : indicateur booléen (False par défaut). Si défini à True, la dimension réduite est conservée comme une dimension de taille 1 dans la sortie, préservant ainsi le nombre original de dimensions.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Diffusion

La diffusion permet des opérations entre des tenseurs de formes différentes en étendant automatiquement les dimensions. Si une révision sur la diffusion est nécessaire, plus de détails sont disponibles ici.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Fonctions mathématiques utiles

PyTorch propose également diverses fonctions mathématiques telles que les exponentielles, les logarithmes et les fonctions trigonométriques.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Laquelle des opérations suivantes effectue correctement une multiplication matricielle dans PyTorch ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
some-alt