J'ai actuellement deux Torche Tenseurs, p
et x
qui ont à la fois la forme de (batch_size, input_size)
.
Je voudrais calculer la loi de Bernoulli journal des probabilités pour les données fournies, et le retour d'un tenseur de taille (batch_size)
Voici un exemple de ce que je voudrais faire: J'ai la formule pour le journal des probabilités des variables Aléatoires de Bernoulli:
\sum_i^d x_{i} ln(p_i) + (1-x_i) ln (1-p_i)
Dire que j'ai p
Tenseur:
[[0.6 0.4 0], [0.33 0.34 0.33]]
Et dire que j'ai l' x
tenseur pour les entrées binaires basées sur les probabilités:
[[1 1 0], [0 1 1]]
Et je veux calculer la log-vraisemblance pour chaque échantillon, ce qui aurait pour résultat:
[[ln(0.6)+ln(0.4)], [ln(0.67)+ln(0.34)+ln(0.33)]]
Serait-il possible de faire ce calcul sans l'utilisation des boucles for?
Je sais que je pourrais utiliser torch.sum(axis=1)
pour faire la dernière sommation entre les journaux, mais est-il possible de faire la loi de Bernoulli log-vraisemblance calcul sans l'utilisation des boucles for? ou de l'utilisation à plus 1 pour la boucle? Je suis en train de vectoriser cette opération autant que possible. J'aurais pu jurer que nous pourrions utiliser LaTeX pour les équations avant, a fait quelque chose de changer ou est-il un autre site?