1.注意本方法只适用于保存2维embedding
因为直接将完整的Bert加入到其他模型中,训练时会出现内存不够用的情况,考虑将通过Bert得到的Embedding保存为文件,再在其他模型中导入使用,试过很多保存的方法(numpy.savetxt等),都不成功,最后采用稀疏矩阵sparse.dok_matrix的方式保存wordEmbdedding,然后利用toarray()方法转换为矩阵形式,发现这是一个不错的方法。
2.使用pytorch_pretrained_bert得到embedding的简单流程
//st为一行文本,多行文本加个for循环即可
from pytorch_pretrained_bert import BertTokenizer,BertModel
test_input_ids=[]
tokenizer = BertTokenizer.from_pretrained('bert-large-uncased', do_lower_case=True)
text = tokenizer.tokenize(st)
text_id=