jiesutd / LatticeLSTM

Chinese NER using Lattice LSTM. Code for ACL 2018 paper.
1.79k stars 457 forks source link

test模式下存在的bug与修复 #58

Closed softhuafei closed 5 years ago

softhuafei commented 5 years ago

您好,我发现在test模式下,在对test数据集加载模型时会报错: RuntimeError: While copying the parameter named lstm.hidden2tag.weight, whose dimensions in the model are torch.Size([22, 200]) and whose dimensions in the checkpoint are torch.Size([20, 200]).

经过分析,报错原因如下: 在test模式下,会分别对验证集和测试集进行测试,也就是说会利用data构建两次模型,由于在构建model的时候,会执行如下操作: data.label_alphabet_size += 2 所以在第二次利用data构建模型的时候,label size会比第一次构建的时候多2,因此,在第二次加载模型的时候会报维度不对的错误。 bug修改: 在对‘dev’测试后,需要重新加载data,或者执行如下操作: data.label_alphabet_size -= 2

jiesutd commented 5 years ago

你好,多谢提醒。之前也发现这个bug,有空将会补上,也欢迎pull request. 谢谢!