bojone / bert4keras

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

关于bert.model.output #421

Open wells-Qiang-Chen opened 2 years ago

wells-Qiang-Chen commented 2 years ago

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

基本信息

核心代码

# 请在此处贴上你的核心代码。
# 请尽量只保留关键部分,不要无脑贴全部代码。
  1. keras.models.Model(bert.model.inputs, bert.model.outputs[0])

  2. output_layer = 'Transformer-%s-FeedForward-Norm' % (bert_layers - 1) output = model.get_layer(output_layer).output

  3. cls_features = keras.layers.Lambda( lambda x: x[:, 0], name='cls-token' )(bert.model.output) # shape=[batch_size,768]

4.encoder = keras.models.Model(bert.model.inputs, bert.model.outputs[0]) seq2seq = keras.models.Model(bert.model.inputs, bert.model.outputs[1])

输出信息

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

自我尝试

不管什么问题,请先尝试自行解决,“万般努力”之下仍然无法解决再来提问。此处请贴上你的努力过程。 学习样例时,发现使用了不同种bert的输出,想请问一下bert4keras的output和原生bert的对应关系, bert.model.outputs[0]对应pooled_output(), bert.model.outputs[1]对应sequence_output() ,bert.model.output对应sequence_output() 请问可以这么理解嘛?

bojone commented 2 years ago

可以这么理解