gaussian_mixture_loss.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:wide-deep-cnn 作者: DaniUPC 项目源码 文件源码
def manual_loss(self, logits, targets, K):
        """ Computes the Gaussian Mixture Loss out of the graph computation """
        mixs, sigmas, means = logits[:, 0:K], logits[:, K:2*K], logits[:, 2*K:]
        mixs = np.exp(mixs)/np.sum(np.exp(mixs))  # Apply softmax
        sigmas = np.exp(sigmas)
        # Compute over all instances
        logexps = []
        for i in range(self.batch_size):
            sumexp = np.sum(
                [
                    mixs[:, k] *
                    norm.pdf(targets[i], means[i, k], sigmas[i, k])
                    for k in range(K)
                ]
            )
            logexps.append(np.log(sumexp))
        return -np.mean(logexps)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号