3.Task
更新时间:2022-08-01
简介
Task,也可以称为是一个任务,在文心中我们按模型的适用场景对其进行划分,相同场景的示例代码被划到同一个目录下,这个目录就是一个Task。比如我们将适用于分类场景的示例代码都划分到text_classification目录下,称作text_classification task (文本分类任务);将适用于文本匹配场景的示例代码都划分到text_matching目录下,称作text_matching task (文本匹配任务);适用于序列标注场景的示例代码都划分到sequence_labeling目录下,称作sequence_labeling task (序列标注任务)。
基本结构
每一个task中包含有该场景下用到的绝大部分代码与数据,比如数据集、词表文件、模型训练脚本、模型预测推理脚本、网络配置脚本等,以下我们以文本分类任务(text_classification)为例,其基本结构如下所示:
.
├── __init__.py
├── env.sh ## 环境变量配置脚本,配置python路径、cuda版本、GPU卡号等
├── run_with_json.py ## 模型训练的入口脚本,入参为examples目录中具体的配置配件,如cls_cnn_ch.json
├── run_infer.py ## 模型预测推理的入口脚本,入参为examples目录中具体的配置配件,如cls_cnn_ch_infer.json
├── examples ## 各典型网络的json配置文件,模型训练对应的json文件没有后缀,预测推理对应的json文件含有_infer后缀
│ ├── cls_cnn_ch.json
│ ├── cls_cnn_ch_infer.json
│ ├── cls_ernie_1.0_base_cnn_ch.json
│ └── ...
├── data ## 示例数据文件夹,包括各任务所需训练集(train_data)、测试集(test_data)、验证集(dev_data)和预测集(predict_data)
│ ├── train_data
│ │ └── train.txt
│ ├── test_data
│ │ └── test.txt
│ ├── dev_data
│ │ └── dev.txt
│ ├── predict_data
│ │ └── infer.txt
│ └── ...
└── dict ## 词表文件夹
├── vocab.txt
├── label_map.txt
基本操作
在每一个Task中,文心支持以下常见操作:
文心支持的Task
目前文心支持了多种Task,覆盖NLP领域常见的经典任务: