charades.py 文件源码

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

项目:actions-for-actions 作者: gsig 项目源码 文件源码
def compute_scores(self):
        m_aps = []
        for oc_i in range(self.n_classes):
            sorted_idxs = np.argsort(- self.submission_array[:, oc_i])
            tp = self.gt_array[:, oc_i][sorted_idxs] == 1
            fp = np.invert(tp)
            n_pos = tp.sum()
            if n_pos < 0.1:
                m_aps.append(float('nan'))
                continue
            n_neg = fp.sum()
            f_pcs = np.cumsum(fp)
            t_pcs = np.cumsum(tp)
            prec = t_pcs / (f_pcs + t_pcs)
            if self.normalize_map:
                k = self.N_all/n_pos
                k2 = self.F_all/n_neg
                prec=(t_pcs*k) / (f_pcs*k2+t_pcs*k)
            avg_prec = 0
            for i in range(self.submission_array.shape[0]):
                if tp[i]:
                    avg_prec += prec[i]
            m_aps.append(avg_prec / n_pos)
        m_aps = np.array(m_aps)
        m_ap = np.mean(m_aps)
        w_ap = (m_aps * self.gt_array.sum(axis=0) / self.gt_array.sum()).sum()
        return m_ap, w_ap, m_aps
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号