當前位置: 首頁>>代碼示例>>Python>>正文


Python cider.Cider方法代碼示例

本文整理匯總了Python中pycocoevalcap.cider.cider.Cider方法的典型用法代碼示例。如果您正苦於以下問題:Python cider.Cider方法的具體用法?Python cider.Cider怎麽用?Python cider.Cider使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在pycocoevalcap.cider.cider的用法示例。


在下文中一共展示了cider.Cider方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: score

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def score(ref, sample):
    # ref and sample are both dict
    scorers = [
        (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
        (Rouge(), "ROUGE_L"),
        (Cider(), "CIDEr")
    ]
    final_scores = {}
    for scorer, method in scorers:
        print('computing %s score with COCO-EVAL...' % (scorer.method()))
        score, scores = scorer.compute_score(ref, sample)
        if type(score) == list:
            for m, s in zip(method, score):
                final_scores[m] = s
        else:
            final_scores[method] = score
    return final_scores 
開發者ID:xiadingZ,項目名稱:video-caption-openNMT.pytorch,代碼行數:19,代碼來源:cocoeval.py

示例2: calc_scores

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def calc_scores(ref, hypo):
    """
    ref, dictionary of reference sentences (id, sentence)
    hypo, dictionary of hypothesis sentences (id, sentence)
    score, dictionary of scores
    """
    scorers = [
        (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
        (Meteor(),"METEOR"),
        (Rouge(), "ROUGE_L"),
        (Cider(), "CIDEr")
    ]
    final_scores = {}
    for scorer, method in scorers:
        score, scores = scorer.compute_score(ref, hypo)
        if type(score) == list:
            for m, s in zip(method, score):
                final_scores[m] = s
        else:
            final_scores[method] = score
    return final_scores 
開發者ID:hobincar,項目名稱:RecNet,代碼行數:23,代碼來源:utils.py

示例3: score_all

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def score_all(ref, hypo):
    scorers = [
        (Bleu(4),["Bleu_1","Bleu_2","Bleu_3","Bleu_4"]),
        (Meteor(),"METEOR"),
        (Rouge(),"ROUGE_L"),
        (Cider(),"CIDEr")
    ]
    final_scores = {}
    for scorer,method in scorers:
        score,scores = scorer.compute_score(ref,hypo)
        if type(score)==list:
            for m,s in zip(method,score):
                final_scores[m] = s
        else:
            final_scores[method] = score

    return final_scores 
開發者ID:weili-ict,項目名稱:SelfCriticalSequenceTraining-tensorflow,代碼行數:19,代碼來源:bleu.py

示例4: __init__

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def __init__(self, args, task):
        super().__init__(args, task)
        self.task = task

        self.generator = SimpleSequenceGenerator(beam=args.scst_beam,
                                                 penalty=args.scst_penalty,
                                                 max_pos=args.max_target_positions,
                                                 eos_index=task.target_dictionary.eos_index)

        # Needed for decoding model output to string
        self.conf_tokenizer = encoders.build_tokenizer(args)
        self.conf_decoder = encoders.build_bpe(args)
        self.captions_dict = task.target_dictionary

        # Tokenizer needed for computing CIDEr scores
        self.tokenizer = PTBTokenizer()
        self.scorer = Cider() 
開發者ID:krasserm,項目名稱:fairseq-image-captioning,代碼行數:19,代碼來源:criterion.py

示例5: score

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def score(ref, hypo):
    """
    ref, dictionary of reference sentences (id, sentence)
    hypo, dictionary of hypothesis sentences (id, sentence)
    score, dictionary of scores
    """
    scorers = [
        (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
        (Meteor(),"METEOR"),
        (Rouge(), "ROUGE_L"),
        (Cider(), "CIDEr")
    ]
    final_scores = {}
    for scorer, method in scorers:
        score, scores = scorer.compute_score(ref, hypo)
        if type(score) == list:
            for m, s in zip(method, score):
                final_scores[m] = s
        else:
            final_scores[method] = score
    return final_scores 
開發者ID:WingsBrokenAngel,項目名稱:Semantics-AssistedVideoCaptioning,代碼行數:23,代碼來源:train_model.py

示例6: get_dcc_scores

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def get_dcc_scores(self):

    imgIds = self.params['image_id']
    # imgIds = self.coco.getImgIds()
    gts = {}
    res = {}
    for imgId in imgIds:
        gts[imgId] = self.coco.imgToAnns[imgId]
        res[imgId] = self.cocoRes.imgToAnns[imgId]

    tokenizer = PTBTokenizer()
    gts = tokenizer.tokenize(gts)
    res = tokenizer.tokenize(res)
    scorers = [
        (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
        (Meteor(), "METEOR"),
        (Rouge(), "ROUGE_L"),
        (Cider(df='noc_test_freq'), "CIDEr"),
        (Spice(), "SPICE")
    ]
    score_dict = {}
    for scorer, method in scorers:
      print('computing %s score...' % (scorer.method()))
      score, scores = scorer.compute_score(gts, res)
      if type(method) == list:
        for sc, scs, m in zip(score, scores, method):
          score_dict[m] = sc
          print("%s: %0.3f" % (m, sc))
      else:
        score_dict[method] = score
        print("%s: %0.3f" % (method, score))

    return score_dict 
開發者ID:jiasenlu,項目名稱:NeuralBabyTalk,代碼行數:35,代碼來源:coco_eval.py

示例7: __init__

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def __init__(self):
        implementation = cider.Cider()
        super(CIDEr, self).__init__('cider', implementation) 
開發者ID:danieljl,項目名稱:keras-image-captioning,代碼行數:5,代碼來源:metrics.py

示例8: __init__

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def __init__(self, ground_truth_filenames=None, prediction_filename=None,
                 tious=None, max_proposals=1000,
                 prediction_fields=PREDICTION_FIELDS, verbose=False):
        # Check that the gt and submission files exist and load them
        if len(tious) == 0:
            raise IOError('Please input a valid tIoU.')
        if not ground_truth_filenames:
            raise IOError('Please input a valid ground truth file.')
        if not prediction_filename:
            raise IOError('Please input a valid prediction file.')

        self.verbose = verbose
        self.tious = tious
        self.max_proposals = max_proposals
        self.pred_fields = prediction_fields
        self.ground_truths = self.import_ground_truths(ground_truth_filenames)
        self.prediction = self.import_prediction(prediction_filename)
        self.tokenizer = PTBTokenizer()

        # Set up scorers, if not verbose, we only use the one we're
        # testing on: METEOR
        if self.verbose:
            self.scorers = [
                (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
                (Meteor(),"METEOR"),
                (Rouge(), "ROUGE_L"),
                (Cider(), "CIDEr")
            ]
        else:
            self.scorers = [(Meteor(), "METEOR")] 
開發者ID:JaywongWang,項目名稱:DenseVideoCaptioning,代碼行數:32,代碼來源:evaluate_old.py

示例9: get_self_critical_reward

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def get_self_critical_reward(greedy_res, gt_ids, gen_result, batch_size):

    greedy_res = greedy_res.data.cpu().numpy()
    gen_result = gen_result.data.cpu().numpy()
    gt_ids = gt_ids.data.cpu().numpy()
    res = OrderedDict()

    for i in range(batch_size):
        res[i] = [array_to_str(gen_result[i])]
    for i in range(batch_size):
        res[batch_size + i] = [array_to_str(greedy_res[i])]

    gts = OrderedDict()
    for i in range(batch_size):
        gts[i] = [array_to_str(gt_ids[i])]
    for i in range(batch_size):
        gts[batch_size + i] = [array_to_str(gt_ids[i])]

    cider_reward_weight = 1
    # print(gts, res)
    _, cider_scores = CiderD_scorer.compute_score(gts, res)
    print('Cider scores:', _)

    scores = cider_reward_weight * cider_scores
    scores = scores[:batch_size] - scores[batch_size:]
    rewards = np.repeat(scores[:, np.newaxis], gen_result.shape[1], 1)

    return rewards 
開發者ID:LuoweiZhou,項目名稱:VLP,代碼行數:30,代碼來源:scst_utils.py

示例10: CocoScore

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def CocoScore(ref, hyp, metrics_list=None, language='en'):
    """
    Obtains the COCO scores from the references and hypotheses.

    :param ref: Dictionary of reference sentences (id, sentence)
    :param hyp: Dictionary of hypothesis sentences (id, sentence)
    :param metrics_list: List of metrics to evaluate on
    :param language: Language of the sentences (for METEOR)
    :return: dictionary of scores
    """
    if metrics_list is None:
        metrics_list = ['bleu', 'ter', 'meteor', 'rouge_l', 'cider']

    metrics_list = map(lambda x: x.lower(), metrics_list)
    scorers = []
    if 'bleu' in metrics_list:
        scorers.append((Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]))
    if 'meteor' in metrics_list:
        scorers.append((Meteor(language), "METEOR"))
    if 'ter' in metrics_list:
        scorers.append((Ter(), "TER"))
    if 'rouge_l' in metrics_list or 'rouge' in metrics_list:
        scorers.append((Rouge(), "ROUGE_L"))
    if 'cider' in metrics_list:
        scorers.append((Cider(), "CIDEr"))

    final_scores = {}
    for scorer, method in scorers:
        score, _ = scorer.compute_score(ref, hyp)
        if isinstance(score, list):
            for m, s in zip(method, score):
                final_scores[m] = s
        else:
            final_scores[method] = score
    return final_scores 
開發者ID:sheffieldnlp,項目名稱:deepQuest,代碼行數:37,代碼來源:evaluate_from_file.py

示例11: score

# 需要導入模塊: from pycocoevalcap.cider import cider [as 別名]
# 或者: from pycocoevalcap.cider.cider import Cider [as 別名]
def score(self, GT, RES, IDs):
        self.eval = {}
        self.imgToEval = {}
        gts = {}
        res = {}
        for ID in IDs:
            gts[ID] = GT[ID]
            res[ID] = RES[ID]
        print 'tokenization...'
        tokenizer = PTBTokenizer()
        gts  = tokenizer.tokenize(gts)
        res = tokenizer.tokenize(res)

        # =================================================
        # Set up scorers
        # =================================================
        print 'setting up scorers...'
        scorers = [
            (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
            (Meteor(),"METEOR"),
            (Rouge(), "ROUGE_L"),
            (Cider(), "CIDEr")
        ]

        # =================================================
        # Compute scores
        # =================================================
        eval = {}
        for scorer, method in scorers:
            print 'computing %s score...'%(scorer.method())
            score, scores = scorer.compute_score(gts, res)
            if type(method) == list:
                for sc, scs, m in zip(score, scores, method):
                    self.setEval(sc, m)
                    self.setImgToEvalImgs(scs, IDs, m)
                    #print "%s: %0.3f"%(m, sc)
            else:
                self.setEval(score, method)
                self.setImgToEvalImgs(scores, IDs, method)
                #print "%s: %0.3f"%(method, score)
                
        for metric, score in self.eval.items():
            print '%s: %.3f'%(metric, score)
        return self.eval 
開發者ID:VisionLearningGroup,項目名稱:caption-guided-saliency,代碼行數:46,代碼來源:cocoeval.py


注:本文中的pycocoevalcap.cider.cider.Cider方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。