V současné době mám dva Pochodeň Tenzory, p
a x
, které oba mají tvar (batch_size, input_size)
.
Já bych chtěl spočítat Bernoulliho log pravděpodobností pro dané dat, a vrátit tenzor velikosti (batch_size)
Zde je příklad toho, co bych chtěl udělat: Mám vzorec pro log pravděpodobností z Bernoulliho Náhodné proměnné:
\sum_i^d x_{i} ln(p_i) + (1-x_i) ln (1-p_i)
Říct, že jsem p
Tenzor:
[[0.6 0.4 0], [0.33 0.34 0.33]]
A že mám x
tenzor pro binární vstupy na základě těchto pravděpodobností:
[[1 1 0], [0 1 1]]
A chci vypočítat logaritmus pravděpodobnosti pro každý vzorek, což by mělo za následek:
[[ln(0.6)+ln(0.4)], [ln(0.67)+ln(0.34)+ln(0.33)]]
Bylo by možné udělat tento výpočet bez použití smyčky for?
Vím, že jsem mohl použít torch.sum(axis=1)
udělat závěrečné shrnutí mezi protokoly, ale je to možné udělat Bernoulliho log-pravděpodobnosti, výpočty bez použití smyčky for? nebo použít maximálně 1 pro smyčce? Snažím se vectorize tato operace, stejně jako je to možné. Přísahal bych, že bychom mohli použít LaTeX pro rovnice, než se něco změnit, nebo je to jiné webové stránky?