我正在尝试在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个形状。我一直试图了解为什么,但是找不到任何东西。任何帮助和澄清将不胜感激。谢谢!