Fonction torch.sum de PyTorch


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

torch.sumest une fonction de PyTorch utilisée pour calculer la somme des éléments d'un tenseur. Elle peut calculer la somme de tous les éléments, ou selon des dimensions spécifiées.

Il s'agit d'une opération de réduction couramment utilisée en apprentissage profond, utilisée dans des scénarios tels que le calcul de perte et les statistiques.

Définition de fonction

torch.sum(input, dim, keepdim, dtype, out)

Parameters:

  • input(Tensor) : Le tenseur d'entrée.
  • dim(int ou tuple d'int, facultatif) : La ou les dimensions sur lesquelles effectuer le calcul. SiNone, alors calculez la somme de tous les éléments.
  • keepdim(bool, facultatif) : Indique si la dimension doit être conservée. La valeur par défaut estFalse。
  • dtype(torch.dtype, facultatif) : Le type de données du tenseur de sortie.
  • out(Tensor, optionnel) : Le tenseur de sortie.

Valeur de retour:

  • torch.Tensor: Renvoie le tenseur calculé.

Exemples d'utilisation

Exemple 1 : Somme de tous les éléments

Exemple

import torch

# Créer un tenseur
x = torch.tensor([[1, 2, 3], [4, 5, 6]])

# Calculer la somme de tous les éléments
total = torch.sum(x)

print("Tenseur :")
print(x)
print("Somme des éléments :", total)

Le résultat de sortie est:

张量:
tensor([[1, 2, 3],
        [4, 5, 6]])
元素之和: tensor(21)

Exemple 2 : Somme selon une dimension spécifiée

Exemple

import torch

x = torch.tensor([[1, 2, 3], [4, 5, 6]])

# Somme selon dim=0 (colonnes)
sum_dim0 = torch.sum(x, dim=0)
print("Somme selon dim=0 :", sum_dim0)

# Somme selon dim=1 (lignes)
sum_dim1 = torch.sum(x, dim=1)
print("Somme selon dim=1 :", sum_dim1)

Le résultat de sortie est:

沿 dim=0 求和: tensor([5, 7, 9])
沿 dim=1 求和: tensor([ 6, 15])

Exemple 3 : Utilisation de keepdim pour préserver les dimensions

Exemple

import torch

x = torch.tensor([[1, 2, 3], [4, 5, 6]])

# Sans conserver la dimension
sum1 = torch.sum(x, dim=0)
print("Sans conserver la dimension :", sum1.shape)

# Conserver la dimension
sum2 = torch.sum(x, dim=0, keepdim=True)
print("En conservant la dimension :", sum2.shape)
print(sum2)

Le résultat de sortie est:

不保持维度: torch.Size([3])
保持维度: torch.Size([1, 3])
tensor([[5, 7, 9]])

Exemple 4 : Calcul de la perte dans les réseaux de neurones

Exemple
import torch

# Simuler les valeurs prédites et réelles
predictions = torch.tensor([0.1, 0.9, 0.8, 0.3])
targets = torch.tensor([0.0, 1.0, 1.0, 0.0])

# Calculer la perte d'erreur quadratique moyenne
loss = torch.sum((predictions - targets) ** 2) / len(prédictions)

print("Perte MSE :", loss.item())

Le résultat de sortie est:

MSE 损失: 0.07499999690771103

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

Autres extensions