Open BNDSllx opened 1 year ago
模型不能加@dataclass
装饰器哦😂我复现了一下,去掉@dataclass
就可以咯
您如果在其他更多模型上实现了Copy Mechanism欢迎contribute哦~
明白啦!非常感谢!
另外还想请教一下,您在跑代码的时候,中间有输出过 p_copy, p_gen, cp_logit, lm_logits
这些值嘛?大概是什么范围的呢?我想参考一下,看看我在 t5
上实现的对不对。
我这里跑代码两个概率都在 0.5
左右浮动,但是 cp_logits
计算出来 dim=1
上 one-hot
全都是在同一个位置(比如下面例子里全在每个向量的第二个位置),感觉有点反直觉:
lm_logits tensor([[[ -8.3967, -10.7758, -13.5871, ..., -11.5895, -7.0838, -43.3770],
[-21.0494, -5.5865, -7.6967, ..., -9.6996, -37.8186, -36.0446]]],
device='cuda:0', grad_fn=<UnsafeViewBackward0>)
cp_logits tensor([[[0.0000, 0.5101, 0.0000, ..., 0.0000, 0.0000, 0.0000],
[0.0000, 0.4398, 0.0000, ..., 0.0000, 0.0000, 0.0000]]],
device='cuda:0', grad_fn=<UnsafeViewBackward0>)
p_gen = tensor([[[0.4560],
[0.4470]]], device='cuda:0', grad_fn=<SigmoidBackward0>)
原因我理解是因为 input_one_hot
张量中只有一个元素是有值的,所以乘出来的数组只有一列不为0?
抱歉,这段时间比较忙没看issues. 您的问题如果还没解决的话,能不能提供一下复现该问题的代码呢?
您好,我参考您的代码重写了
T5forConditionalGeneration
类:但是调用的时候传入
config
会出现如下错误:参考您的代码,不传入
config
,只传入model_name_or_path
的话,则会报另一个错误:请问您遇到过类似错误嘛?