În prezent am două Lanterna Tensori, p
și x
, care ambele au forma de (batch_size, input_size)
.
Aș dori să calculeze Bernoulli log likelihoods pentru date, și să se întoarcă un tensor de dimensiune (batch_size)
Aici este un exemplu de ceea ce aș vrea să fac: Am formula de jurnal likelihoods de variabile Aleatoare Bernoulli:
\sum_i^d x_{i} ln(p_i) + (1-x_i) ln (1-p_i)
Spun ca am p
Tensor:
[[0.6 0.4 0], [0.33 0.34 0.33]]
Și spun că am x
tensor pentru intrări binare bazate pe aceste probabilități:
[[1 1 0], [0 1 1]]
Și vreau să se calculeze log likelihood pentru fiecare probă, care ar duce la:
[[ln(0.6)+ln(0.4)], [ln(0.67)+ln(0.34)+ln(0.33)]]
Ar fi posibil să fac acest calcul, fără utilizarea de bucle?
Stiu ca as putea folosi torch.sum(axis=1)
pentru a face raportul final între busteni, dar este posibil să se facă Bernoulli log-probabilitatea de calcul, fără utilizarea de bucle? sau de a folosi cel mult 1 buclă? Am încercat să vectorize această operație cât mai mult posibil. Puteam să jur că am putea folosi LaTeX pentru ecuații înainte, s-a schimbat ceva sau este un alt site?