Closed jyf123 closed 1 year ago
您好,应该是论文中[sub]和[obj]的初始化是通过embedding乘以概率𝜙_sub和𝜙_obj得到的,目前更新的代码是我们后来做项目时候方便更简洁使用简化为取均值。您可以在这段修改为多种设置可选择的逻辑。
第一个问题我明白啦,谢谢您!请问方便回答一下问题2吗?
- two_stage设置问题: 这里设置参数--two_steps为True的操作并不完整即只实现了第一步,测试集的结果降到了20多应该是因为只tune了prompt的embedding,第二步需要再导入模型继续训练。
非常感谢您耐心的回答!但有个问题我还是不太清楚: 请问论文中说的two stage具体在代码中是如何实现的呢?是第一个阶段--two_steps这个参数设置为false,第二个阶段设置--two_steps为true并加载第一个阶段的weight嘛?对于设置--two_steps这个参数的意义可以解释一下嘛?
您好,默认是是第一个阶段--two_steps这个参数设置为false,第二个阶段设置--two_steps为true, 代码细节可能不涉及加载weight的内容,您可以通过在这段two_stage设置的代码中实现控制修改加载模型。
好的,谢谢您!
您好,想问下“这段two_stage设置的代码”指的是main.py中的if args.two_steps:循环中的代码嘛?
您好,是的。您可以自行简单修改以加载模型。
那可以理解为如果要实现论文中的两阶段,需要先设置--two_steps为false,学习prompt的embedding,再设置--two_steps为true,加载上一步中最好的模型,同时修改学习率为lr2和训练阶段的目标函数的代码,完成第二阶段的训练嘛?
是的,你也可以简化为一个阶段的训练,其效果也近似。
您好,有以下几个问题想要请教您:
谢谢您!