我目前有两个火炬张量, p
和 x
这两个有形状的 (batch_size, input_size)
.
我谨计算伯努利登录的可能性对于给定的数据,返回一张量的大小 (batch_size)
这里有一个例子什么的我想要做的: 我的公式,用于记录可能性的伯努利随机变量:
\sum_i^d x_{i} ln(p_i) + (1-x_i) ln (1-p_i)
说我有 p
张:
[[0.6 0.4 0], [0.33 0.34 0.33]]
说我有 x
张量的二进制的投入的基础上那些概率:
[[1 1 0], [0 1 1]]
我想要计算记录的可能性对于每一个样本,这将导致:
[[ln(0.6)+ln(0.4)], [ln(0.67)+ln(0.34)+ln(0.33)]]
才有可能做到这一计算不使用对于循环?
我知道我可以用 torch.sum(axis=1)
做最后的总和之间的日志,但是它可能做到伯努利登录的可能性的计算不使用对于循环? 或者使用最多1循环? 我想矢量化这种操作尽可能多的。 我可以发誓我们可以使用乳胶用于方程式之前,没有什么变化或者是另一个网站吗?