目录结构
更新时间:2022-08-01
wenxin目录
-核心目录如下:
auth、bns2_0:文心鉴权统计模块。
common:各模块通用部分,包含注册模块、剪切规则、padding规则、超长字符串截断规则及其常量等设置。
controller:模型训练、模型预测的基类,定义了NLP任务开发过程种的各个流程。
data:核心数据处理模块,包括数据读取、转id等内容。
data.data_set_reader:数据从文件中读取的过程,并在其中配置不同域(field)的处理方式。
data.field_reader:针对文本域、数值域等不同的数据进行处理。
data.tokenizer:将文本字符串转换成token列表的过程。
metrics:评估函数。
models:组建网络主干部分(基类),包括前向网络、优化器、metrics等四部分。
modules: 子网络部分,一些公用的网络片段,如ERNIE、transformer等。
secure:文心为保护模型安全提供的安全算子。
utils:辅助工具,包括参数初始化等。
├── auth # 鉴权部分
│ ├── auth.py
│ ├── auth.txt
│ ├── __init__.py
│ ├── libaipe_security_client.so
├── bns2_0 # 鉴权服务器
│ ├── bns.py
│ ├── _bns_py2.so
│ ├── _bns_py3.so
│ ├── __init__.py
│
├── common # 各模块通用部分
│ ├── __init__.py
│ ├── jit_wenxin.py
│ ├── register.py # 实现注册机制的模块
│ └── rule.py
├── controller # 核心调度模块
│ ├── dynamic_trainer.py # 动态图trainer
│ ├── evaluate.py
│ ├── inference.py
│ ├── __init__.py
│ ├── static_trainer_ernie3.py
│ ├── static_trainer_ernie_gen.py
│ └── static_trainer.py # 静态图trainer
├── data
│ ├── data_set.py # 用来存放训练集、测试集、验证集、预测集对应Reader实例的类
│ ├── data_set_ernie3.py # ERNIE3的dataset
│ ├── data_set_reader
│ ├── field.py # field(域)的基本定义
│ ├── field_reader
│ ├── __init__.py
│ ├── reader_config.py
│ ├── tokenizer # tokenizer相关方法
│ ├── util_helper.py # data模块的一些通用方法,比如组batch,padding数据等。
│ └── vocabulary.py # 词表模块
├── __init__.py
├── metrics
│ ├── chunk_metrics.py
│ ├── __init__.py
│ ├── metrics.py # 常用评估指标计算:acc、recall、precision、f1、ppl等
├── model
│ ├── __init__.py
│ ├── model.py # 预置网络基类,包括前向网络、优化器和metrics。
├── modules # 子网络部分,一些公用的网络片段,如语义表示等
│ ├── encoder.py
│ ├── ernie_config.py
│ ├── ernie_factory.py
│ ├── ernie_lr.py
│ ├── ernie.py
│ ├── ... ...
│ └── token_embedding
├── secure # 安全模块
│ ├── __init__.py
│ ├── lib
│ └── secure.py
├── utils # 辅助工具类
│ ├── args.py
│ ├── __init__.py
│ ├── log.py
│ ├── params.py
│ └── util_helper.py
├── version.py
wexin_appzoo目录
├── CHANGELOG.md
├── ci.yml
├── README.md
├── requirements.txt
├── setup.cfg
├── setup.py
└── wenxin_appzoo
├── cmdline.py
├── demo.py
├── __init__.py
├── __main__.py
├── models_hub
│ ├── download_ernie_2.0_base_ch.sh ## Ernie各个预训练模型的下载脚本
│ ├── download_ernie_2.0_large_ch.sh
│ ├── download_ernie_2.3_base_ch.sh
│ ├── download_ernie_2.3_large_ch.sh
│ ├── download_ernie_3.0_ch.sh
│ ├── download_ernie_sentiment_1.0_ch.sh
│ ├── download_ernie_sim_1.0_ch.sh
│ ├── download_ernie_3.0_1.5b_ch.sh
│ ├── ... ...
│ ├── download_ernie_layout_1.0_base_ch.sh
│ ├── download_ernie_3.0_tiny_ch.sh
│ └── readme.md
├── tasks
│ ├── data_distillation ## 数据蒸馏
│ ├── entity_recongnition_for_health ## 基于ERNIE-Health预训练模型的NER任务
│ ├── ernie_law_multi_label_classification ## 基于ERNIE-Law预训练模型的分类任务
│ ├── information_extraction ## 信息抽取任务(单一实体、单一关系抽取)
│ ├── information_extraction_many_to_many ## 信息抽取任务(多对实体、多对关系抽取)
│ ├── model_distillation ## 模型蒸馏
│ ├── negative_information_for_finance ## 基于ERNIE-Finance预训练模型的分类任务
│ ├── question_matching_for_health ## 基于ERNIE-Health预训练模型的匹配任务
│ ├── openie ## 使用Monet模型的信息抽取任务
│ ├── plugin_demo ## Ernie插件demo
│ ├── reading_comprehension ## 阅读理解任务
│ ├── relation_prediction ## 关系预测任务
│ ├── sentiment_analysis ## 情感分析任务
│ ├── sequence_labeling ## 序列标注任务
│ ├── term_rank ## 术语重要性任务
│ ├── text_classification ## 文本分类任务
│ ├── text_generation ## 文本生成任务
│ ├── text_rank ## 文本排序任务
│ ├── text_vil_retrieval ## 图文多模态检索任务
│ └── text_matching ## 文本匹配任务
├── tests
│ └── __init__.py
└── tools
├── data ## 数据处理相关工具包
│ ├── data_cleaning
│ │ └── file_encoding.py ## 数据清洗,数据格式转换
│ └── wordseg
│ ├── build_voc.py ## 构建词表
│ ├── __init__.py
│ ├── test_seg
│ │ └── train_chnsenticorp_100.txt
│ └── wordseg_lac.py ## LAC分词
├── readme.md
└── run_preprocess ## 高阶任务运行:交叉验证、网格搜索
├── pretreatment.py
└── run_with_preprocess.py