1. tokenizer.encode() 方法 与 tokenizer.tokenize() 之间的区别:
(1) tokenizer.encode() 返回其在字典中的id
(2) tokenizer.tokenize() 返回 token
def bert_():
model_name = 'bert-base-chinese'
MODEL_PATH = 'F:/models/bert-base-chinese/'
# a.通过词典导入分词器
tokenizer = BertTokenizer.from_pretrained(model_name)
# b. 导入配置文件
model_config = BertConfig.from_pretrained(model_name)
# 修改配置
model_config.output_hidden_states = True
model_config.output_attentions = True
# 通过配置和路径导入模型
bert_model = BertModel.from_pretrained(MODEL_PATH, config=model_config)
# tokenizer.encode()
sen_code_encode = tokenizer.encode("自然语")
print("sen_code_encode",sen_code)
# tokenizer.tokenize
sen_code_tokenizer = tokenizer.tokenize("自然语")
print("sen_code_tokenizer", sen_code0)
if __name__ == '__main__':
bert_()
# 结果输出:
sen_code_encode [101, 5632, 4197, 6427, 102]
sen_code_tokenizer ['自', '然', '语'] <

本文介绍了在训练Bert模型过程中tokenizer.encode()和tokenizer.tokenize()的区别,前者返回字典ID,后者返回token。此外,讨论了TensorFlow 2.0中模型保存的两种形式:.pb格式包含了模型参数、结构和计算过程,适合直接部署;.ckpt格式仅保存模型参数,恢复时需重新定义网络结构。
最低0.47元/天 解锁文章
2494

被折叠的 条评论
为什么被折叠?



