¿Cómo dibujar números aleatorios binarios (0 o 1) de una distribución de Bernoulli en PyTorch?

En este artículo, discutimos cómo dibujar números aleatorios binarios (0 o 1) de una distribución de Bernoulli en PyTorch.

método torch.bernoulli()

El método troch.bernoulli() se utiliza para extraer números aleatorios binarios (0 o 1) de una distribución de Bernoulli. Este método acepta un tensor como parámetro, y este tensor de entrada es la probabilidad de sacar 1. Los valores del tensor de entrada deben estar en el rango de 0 a 1. Este método devuelve un tensor que solo tiene valores 0 o 1 y el el tamaño de este tensor es el mismo que el tensor de entrada. Echemos un vistazo a la sintaxis del método dado:

Sintaxis: torch.bernoulli(entrada)

Parámetros:

  • input (Tensor): el tensor de entrada que contiene las probabilidades de sacar 1.

Devoluciones: devolverá un tensor que solo tiene valores 0 o 1 y el tamaño de este tensor es el mismo que el tensor de entrada.

Ejemplo 1

En este ejemplo, extraemos números aleatorios binarios (0 o 1) de una distribución de Bernoulli utilizando un tensor 1-D.

Python3

# Import required library
import torch
  
# create a tensor containing the 
# probability of drawing 1.
tens = torch.tensor([0.1498, 0.9845, 0.4578, 
                     0.3495, 0.2442])
print(" Input tensor: ", tens)
  
# Draw random numbers (0,1)
random_num = torch.bernoulli(tens)
  
# display result
print(" Output tensor ", random_num)

 

Ejemplo 2

En este ejemplo, estimamos el gradiente de una función para un tensor 2-D.

Python3

# Import required library
import torch
  
# create a tensor containing the
# probability of drawing 1.
tens = torch.tensor([[0.2432, 0.7579, 0.6325],
                     [0.3464, 0.2442, 0.3847],
                     [0.4528, 0.9876, 0.8499], ])
print("\n Input tensor: \n", tens)
  
# Draw random numbers (0,1)
random_num = torch.bernoulli(tens)
  
# display result
print("\n Output tensor \n", random_num)

 

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 *