python自定义全局异常_python列表控制错误:未定义全局名称

class evaluater:

def evaluate_topk(self, ground_truth_dict, predicted_dict, setting_name, setting, data,

eval_root_dir = './', file_name = 'result',k = 5,output_entry = 100 ):

#this part of code is not relevant

recall = {}

for key, ground_truth in ground_truth_dict.items():

recall[key] = recall_at_k(ground_truth, predicted_dict[key])

mean_recall = np.mean([value for key,value in recall.items()])

filepath = eval_root_dir + file_name

if not os.path.exists(os.path.dirname(filepath)):

os.makedirs(os.path.dirname(filepath))

#HERE IS WHERE id2tag DEFINED

id2tag = {row[0]:row[1] for row in data[config.TYPE_TAG] }

with open( filepath , 'a' ) as file:

for itemid in sorted(ground_truth_dict.keys())[1:100]:

file.write(str(itemid) + '\n')

file.write('gnd:'+str([id2tag[id] for id in ground_truth_dict[itemid]] ) + '\n')

file.write('prt' + str([ id2tag[id] for id in predicted_dict[itemid]]) + '\n' )

#if i use the below code instead, then would be fine

#gnd_tags = []

#prt_tags = []

#for id in ground_truth_dict[itemid]:

# gnd_tags.append(id2tag[id])

#

#for id in predicted_dict[itemid]:

# prt_tags.append(id2tag[id])

#

#file.write('gnd:'+str( gnd_tags ) + '\n')

#file.write('prt' + str(prt_tags) + '\n' )

return mean_recall

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值