苏剑林(Jianlin Su)
苏剑林(Jianlin Su)
tf 2.2我也不知道,可能要disable掉垃圾的eager模式吧。
不会,因为白化只是一个线性变换,而这个线性变换可以融合到最后的分类层中,所以加不加数学上都是等价的。
标记哪些是padding部分
开源代码只是参考,具体要根据你自己的情况理解原理后自行实现。我这里的vecs输入就是要concatenate一下才是全体响亮的,你自己的数据或许未必。 你这个截图的whitening后的效果,大概率是哪里实现错了,因为whitening虽然不一定能带来提升,但基本上都会拉开相似度之间的差距,也就是基本不可能出现这么多0.999...的相似度的。
可以这么理解
如果你的词表没有[UNK],那就没定义,那就是词表的问题,不是软件的问题。
> > 如果你的词表没有[UNK],那就没定义,那就是词表的问题,不是软件的问题。 > > 我的意思是 类中定义了self._token_unk=‘[UNK]‘,但是没定义self._token_unk_id。 所以词表中有[unk]也是不够的。 没证没据不要乱说,我只是没有写`self._token_unk_id = xxx`这句代码,跟没有定义是两回事。我很好奇你这么肯定,是实际中跑出了错误,还是纯粹自己想象?
> > > > 如果你的词表没有[UNK],那就没定义,那就是词表的问题,不是软件的问题。 > > > > > > > > > 我的意思是 类中定义了self._token_unk=‘[UNK]‘,但是没定义self._token_unk_id。 所以词表中有[unk]也是不够的。 > > > > > > 没证没据不要乱说,我只是没有写`self._token_unk_id = xxx`这句代码,跟没有定义是两回事。我很好奇你这么肯定,是实际中跑出了错误,还是纯粹自己想象? > > 嗯,我就是这个意思:要加一句 `self._token_unk_id...
> 我只是觉得补全了,会更完备。常用bert4keras,帮助很大,所以想贡献点自己实际遇到的一些情况。 谢谢。但正如我一开始所说,不是每一份词表都必须有[UNK]、[MASK]等token的,所以直接明确定义`self._token_unk_id = xxx`、`self._token_mask_id = xxx`反而会降低了灵活性。 况且,当前这种写法,除了ide不会有这个变量的提示外,没有任何使用上的损失。而我的建议是“珍惜生命,远离ide”,所以当前的写法可以说百利无害。