Bert Model 训练遇到的问题描述

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 ['自', '然', '语']

2. tensorflow 2.0 保存方式

(1) .pb 的格式, 存模型参数和网络结构,还有模型计算过程,可以直接部署到服务器,不需要依赖原始代码。pb 格式文件是一种freeze_graph, 它的目的是就是将模型固化,具体说就是将训练数据和模型固化成pb文件。

(2) .ckpt的格式, 保存全部的模型参数包括网络的和优化器的,恢复的时候,需要定义下网络结构

上一篇:POJ 1690


下一篇:【论文阅读】Chinese Relation Extraction with Multi-Grained Information and External Linguistic Knowledge[A