山东大学软件工程应用与实践----SENTA代码分析(八)

2021SC@SDUSC

 

这篇代码接着继续分析

先来分析base-trainer.py这个文件

山东大学软件工程应用与实践----SENTA代码分析(八)

 BaseTrainer 类  代码如图所示

山东大学软件工程应用与实践----SENTA代码分析(八)

 1.运行环境初始化

2.program初始化

3.计算图网络导入

4.模型参数导入

5.运行(reader)

6.模型导出 :param params: 运行的基本参数设置 :param data_set_reader: 运行的基本参数设置 :param model_class: 使用的是哪个model

 定义的 structure-fields-dict类 如图所示山东大学软件工程应用与实践----SENTA代码分析(八)

 分析:静态图调用的方法,生成一个dict, dict有两个key:id , emb. id对应的是pyreader读出来的各个field产出的id,emb对应的是各个 field对应的embedding :param fields_id: pyreader输出的完整的id序列 :param start_index:当前需要处理的field在field_id_list中的起始位置 :param need_emb:是否需要embedding(预测过程中是不需要embedding的) :return:

TextFieldReader(BaseFieldReader)这个类的代码如图所示

山东大学软件工程应用与实践----SENTA代码分析(八)

分析: 最基本的文本(text)类型的field_reader 不需要embedding,不需要mask,只返回原始src_id(添加了padding)和length

这篇博客到此结束 下篇代码继续接着分析

上一篇:Java性能优化系列之一--设计优化


下一篇:python RandomTrees特征编码