bys0318 / SQUIRE

EMNLP 22' (Oral): SQUIRE: A Sequence-to-sequence Framework for Multi-hop Knowledge Graph Reasoning
31 stars 5 forks source link

Question about the Evaluation #9

Closed chrislouis0106 closed 9 months ago

chrislouis0106 commented 10 months ago

您好,感谢您发布的代码。 我们在train.py的evaluate()函数中,观察max-len参数,实则整个计算预测概率的model.logits()应该只运行了两次,先后得到两个在所有token上的预测概率。其中在evaluate()函数中for l in range(2, max_len)的参数,max_len看到训练与测试使用默认赋值3,那么则会在该函数candiates的计算也就只有一次,显然并不符合实验结果,因为每次调用train.py中的logits()仅输出一个token(关系or实体)的概率。因此这里是需要修改max-len参数吗,修改为6?

bys0318 commented 10 months ago

感谢您的关注。请注意train.py的第55行max_len = 2 * args.max_len + 1,这里的max_len已经被设为2*3+1=7了,所以代码无误。

chrislouis0106 commented 10 months ago

感谢指出,也感谢分享的代码。另外请问在case study中展示的部分路径长度为2,但是我们这里训练max_len设置为3了啊

bys0318 commented 10 months ago

max_len设置的是最大的生成路径长度,模型可能没有生成到max_len长度就停止了,这时路径长度就可能是1或2