¿Cómo medir la entropía cruzada binaria entre el objetivo y las probabilidades de entrada en PyTorch?

En este artículo, vamos a ver cómo medir la entropía cruzada binaria entre el objetivo y las probabilidades de entrada en PyTorch usando Python . Podemos medir esto usando el método BCELoss() del módulo torch.nn.

Método BCELoss()

El método BCELoss() mide la entropía cruzada binaria entre el objetivo y las probabilidades de entrada mediante la creación de un criterio. Este método se utiliza para medir el error de reconstrucción, un codificador automático es un buen ejemplo de ello. La entrada y el objetivo deben ser tensores de cualquier número de dimensiones y el objetivo debe estar entre 0 y 1. antes de continuar, veamos la sintaxis del método dado.

Sintaxis: torch.nn.BCELoss()

Ejemplo 1:

En este ejemplo, medimos la entropía cruzada binaria entre el objetivo y las probabilidades de entrada del tensor 1D.

Python

# Import required library
import torch
import torch.nn as nn
  
# define input and target tensor
input_tens = torch.tensor(
    [0.4498, 0.9845, 0.4576, 0.3494, 0.2434],
    requires_grad=True)
target_tens = torch.tensor([0.2345, 0.5565,
                            0.3468, 0.1444,
                            0.3546])
  
# display input and target tensor
print('\n input tensor: ', input_tens)
print('\n target tensor: ', target_tens)
  
# define criterion to measure binary 
# cross entropy
bce_loss = nn.BCELoss()
  
# compute the binary cross entropy
output = bce_loss(input_tens, target_tens)
output.backward()
  
# display result
print('\n Binary Cross Entropy Loss: ', output)

Producción:

 

Ejemplo 2:

En este ejemplo, medimos la entropía cruzada binaria entre el objetivo y las probabilidades de entrada del tensor 2D.

Python

# Import required library
import torch
import torch.nn as nn
  
# define input and target tensor
input_tens = torch.tensor([[0.4576, 0.6496, 0.6783],
                           [0.4895, 0.9454, 0.5443],
                           [0.9491, 0.3825, 0.7235]],
                          requires_grad=True)
  
target_tens = torch.tensor([[0.2432, 0.1579, 0.0325],
                            [0.3464, 0.2442, 0.3847],
                            [0.4528, 0.0876, 0.0499], ])
  
# display input and target tensor
print('\n input tensor: \n', input_tens)
print('\n target tensor: \n', target_tens)
  
# define criterion to measure binary cross entropy
bce_loss = nn.BCELoss()
  
# compute the binary cross entropy
output = bce_loss(input_tens, target_tens)
output.backward()
  
# display result
print('\n Binary Cross Entropy Loss: \n', output)

Producción:

 

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *