Atualmente tenho dois Tocha Tensores, p
e x
, que têm a forma de (batch_size, input_size)
.
Eu gostaria de calcular o Bernoulli registo de probabilidade para os dados e retornar um tensor de tamanho (batch_size)
Aqui está um exemplo do que eu gostaria de fazer: Eu tenho a fórmula para o registo de probabilidade de Bernoulli variáveis Aleatórias:
\sum_i^d x_{i} ln(p_i) + (1-x_i) ln (1-p_i)
Dizem que eu tenho p
Tensor:
[[0.6 0.4 0], [0.33 0.34 0.33]]
E dizer que eu o x
tensor para as entradas binárias com base nessas probabilidades:
[[1 1 0], [0 1 1]]
E eu quero calcular o log de probabilidade para cada amostra, o que resultaria em:
[[ln(0.6)+ln(0.4)], [ln(0.67)+ln(0.34)+ln(0.33)]]
Seria possível fazer este cálculo, sem o uso de loops?
Eu sei que eu poderia usar torch.sum(axis=1)
para fazer o final de soma entre os registros, mas é possível fazer Bernoulli log-probabilidade de computação sem o uso de loops? ou use no máximo 1 para o loop? Eu estou tentando para vectorize esta operação, tanto quanto possível. Eu poderia ter jurado que nós poderíamos usar o LaTeX para equações antes, fiz algo mudar ou é de outro site?