从BERT编码器获取序列输出(张量流)

时间:2020-07-23 08:41:39

标签: python tensorflow bert-language-model

我正在尝试在official guide之后对张量流中的BERT进行微调,目的是将输出进一步馈送到LSTM / GRU。我可以进行微调,但是从bert_encoder获得的输出形状为 [num_samples,hidden_​​units] [num_samples,1,768] 。我相信它们分别是池输出和序列输出,但是我很困惑为什么序列输出不是 [num_samples,max_seq_length,hidden_​​units]

在将bert_classifier替换为bert_encoder后运行并运行以下代码:

bert_encoder([glue_train["input_word_ids"][0:10],
              glue_train["input_mask"][0:10],
              glue_train["input_type_ids"][0:10]])

产生:

[<tf.Tensor: shape=(10, 1, 768), dtype=float32, numpy= ...>, <tf.Tensor: shape=(10, 768), dtype=float32, numpy= ...>]

由于我要传递到序列模型,因此我需要获取序列输出,但是对于序列长度,我只会得到1个形状。我一直试图了解为什么,但是找不到任何东西。任何帮助和澄清将不胜感激。谢谢!

0 个答案:

没有答案