def video_mean_ap(score_dict, video_list):
avail_video_labels = [set([i.num_label for i in v.instances]) for v in video_list if
v.id in score_dict]
pred_array = np.array([score_dict[v.id] for v in video_list if v.id in score_dict])
gt_array = np.zeros(pred_array.shape)
for i in xrange(pred_array.shape[0]):
gt_array[i, list(avail_video_labels[i])] = 1
mean_ap = average_precision_score(gt_array, pred_array, average='macro')
return mean_ap
评论列表
文章目录