Closed Harmonicahappy closed 4 years ago
我看了下,的确是一个bug。论文的代码是pytorch版的,没有这个问题。transformer_tf 是官方实现的版本,我没注意到这行。目前repo 给的模型,也不是 transfomer_tf 这个训练的。 transformer.py 是我自己实现的。
我看了下,的确是一个bug。论文的代码是pytorch版的,没有这个问题。transformer_tf 是官方实现的版本,我没注意到这行。目前repo 给的模型,也不是 transfomer_tf 这个训练的。 transformer.py 是我自己实现的。
好的,了解了
@Harmonicahappy bug 已经修复了
在transformer.py的Decoder中,call函数如下:
可以看到这里的x应该已经是embedding了, 但是在transformer_tf.py的Decoder中, call函数如下:
这里的x显然是int32类型的label。 这两个地方的实现有diff,阅读了其他代码之后我确信transformer_tf.py中Decoder的call函数对x的处理应该省略开头一段取embedding的操作. 不知道论文中的实验结果是哪个版本的?