bojone / bert4keras

keras implement of transformers for humans
https://kexue.fm/archives/6915
Apache License 2.0
5.37k stars 929 forks source link

bert4keras如何实现孪生网络,共享参数? #354

Open DaiJitao opened 3 years ago

DaiJitao commented 3 years ago

提问时请尽可能提供如下信息:

基本信息

核心代码

# 请在此处贴上你的核心代码。
# 请尽量只保留关键部分,不要无脑贴全部代码。

输出信息

# 请在此处贴上你的调试输出

自我尝试

不管什么问题,请先尝试自行解决,“万般努力”之下仍然无法解决再来提问。此处请贴上你的努力过程。

bojone commented 3 years ago

1、这是个keras问题;

2、最简单的方式是将所有样本拼在一个batch中,然后对半分算loss,参考SimCSE的实现( https://github.com/bojone/SimCSE/blob/main/eval.py );

3、直接实现也行,y1=model(x1), y2=model(x2)这样就是共享的