LibCity / Bigscity-LibCity

LibCity: An Open Library for Urban Spatial-temporal Data Mining
https://libcity.ai/
Apache License 2.0
886 stars 163 forks source link

实现一次评测多个tok的值 #341

Closed ZhouConch closed 1 year ago

ZhouConch commented 1 year ago

您好,我在完成一项关于提交pr的课程作业,需要向开源项目提交一次pr,结合我在使用libcity的体验创建了这次pr,如有打扰,烦请见谅。 该次修改实现了轨迹预测时可以一次性评测多个topk的值,需要将config中相应tok的值改为类似于[1,5,10]的list,也可只保留单个值类似1这种。

aptx1231 commented 1 year ago

@WenMellors 帮忙看看能不能merge

WenMellors commented 1 year ago

不是很行,只做了 Recall 和 Precision 两个指标的 topk,目测算其他指标的时候,应该会报错

ZhouConch commented 1 year ago

已再次修改,修改后可以同时兼容F1-Score MRR MAP NDCG指标(仅支持使用TrajLocPredEvaluator评测的模型),但目前有一个疑似存在的问题,在TrajLocPredExecutor类中的_valid_epoch方法中返回的avg_acc指标是随便选的(原始代码选择的是recall@topk,我修改之后选择的是多个tok指标中的第一个),之后的 scheduler 会根据 avg_acc 减小学习率,所以可能会导致比如单独评测top5的值和评测【1,5,10】时的top5的各个指标值会有所不同。如果是因为同时评测多个topk就会有这个问题,请拒绝该修改,谢谢。

WenMellors commented 1 year ago

这个多指标问题是很正常的。

ZhouConch commented 1 year ago

QP6T2RPMT~5(C1D)L7HKN7N Y 0ES2)4}KV5C~`IEN2P1UY 您好这是我在运行我自己的数据的结果,第一张是多个top的结果([1,5,10]),第二张是单个的结果(5)

ZhouConch commented 1 year ago

以RNN为例,数据量也比较小,仅表示可运行不报错。

ZhouConch commented 1 year ago

我也十分感谢该项目对我学习提供的巨大帮助。

aptx1231 commented 1 year ago

牛的