验证集的ppl代码
Ultraman-Orb opened this issue · 6 comments
请问在STC_test.json的验证集中 loss怎么求,我在infer.py的文件中 加了(loss), *_ = model(input_ids, labels=lm_labels, token_type_ids=token_type_ids) ,但是lm_labels的值不知道,而在train.py中
input_ids, token_type_ids, lm_labels = tuple(input_tensor.to(args.device) for input_tensor in batch)
在infer.py中
instance, sequence = build_input_from_segments(history, reply, tokenizer, current_output, with_eos=False)
input_ids = torch.tensor(instance["input_ids"], dtype=torch.long, device=args.device).unsqueeze(0)
请问能否公布一下测试过程中的ppl代码
你说的测试集合?就和本仓库中代码求valid的loss一样呀。。。不是给出了吗, 我过几天尽量找找吧,太久远了。
是测试集的loss,train文件valid的loss是evaluator = Engine(inference),而在单独利用以训练好的模型去测试loss,没用Engine。就是想了解一下在STC_test.json文件下的loss值是多少,好计算ppl值,因为您之前说代码显示的avg_ppl和readme里的ppl值不是一个,所以希望您公布下您在STC_test.json整体loss和n_words的计算
或者我可以这样算ppl吗?我把一个epoch中的所有avg_ppl求个均值,就是测试集的ppl?
欸?你把验证集路径换成测试集,用我们代码不就直接能算出来了吗?
欸?你把验证集路径换成测试集,用我们代码不就直接能算出来了吗?
是是是,我刚发现是这样的,真的非常抱歉,非常感谢!
害,客气啥,加油