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