使用TensorFlow Hub模型重新创建BERT extract_features.py输出

时间:2019-10-23 21:16:46

标签: tensorflow tensorflow-hub bert-language-model

克隆了BERT存储库,下载了“ BERT-Base,无大小写” V2.0,并像这样运行pre-trained model,从而产生了令我非常满意的特征向量:

PYTHONPATH=. python extract_features.py --input_file=~/sandbox/input.txt --output_file=~/sandbox/bert_output.jsonl --vocab_file=$BERT_BASE_DIR/vocab.txt --bert_config_file=$BERT_BASE_DIR/bert_config.json --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt --layers=-2 --max_seq_length=128 --batch_size=8

请注意--layers=-2参数,该参数指定我要倒数第二层的要素。

我现在正在尝试使用extract_features.py重现相同的功能,我相信它是相同的模型。我只使用了TF Hub GitHub上建议的this TensorFlow Hub model来访问所需的层,因为只暴露了输出层。我得到的特征向量可疑地接近,但不完全相同(各个浮点之间的误差在1%之内)。我已经确认在两种情况下我的输入令牌都是相同的。希望对BERT配置和内部知识有更多了解的人可以发现一些我忽略的显而易见的东西,或者建议进行调试的方法?我很茫然,因为接口完全不同。

0 个答案:

没有答案