From 2a31cf831fda900162c3c6d1eb002a0bbcce9d17 Mon Sep 17 00:00:00 2001 From: x54-729 <17307130121@fudan.edu.cn> Date: Thu, 7 Jul 2022 11:29:57 +0000 Subject: [PATCH] =?UTF-8?q?=E5=85=B6=E5=AE=83=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/source/tutorials/fastnlp_tutorial_0.ipynb | 1352 ++++++++++ docs/source/tutorials/fastnlp_tutorial_1.ipynb | 1333 ++++++++++ docs/source/tutorials/fastnlp_tutorial_2.ipynb | 884 +++++++ docs/source/tutorials/fastnlp_tutorial_3.ipynb | 621 +++++ docs/source/tutorials/fastnlp_tutorial_4.ipynb | 2614 ++++++++++++++++++++ docs/source/tutorials/fastnlp_tutorial_5.ipynb | 1242 ++++++++++ docs/source/tutorials/fastnlp_tutorial_6.ipynb | 1646 ++++++++++++ docs/source/tutorials/fastnlp_tutorial_e1.ipynb | 1280 ++++++++++ docs/source/tutorials/fastnlp_tutorial_e2.ipynb | 1082 ++++++++ .../tutorials/fastnlp_tutorial_paddle_e1.ipynb | 1086 ++++++++ .../tutorials/fastnlp_tutorial_paddle_e2.ipynb | 1510 +++++++++++ .../tutorials/figures/E1-fig-glue-benchmark.png | Bin 0 -> 158817 bytes .../tutorials/figures/E2-fig-p-tuning-v2-model.png | Bin 0 -> 50517 bytes docs/source/tutorials/figures/E2-fig-pet-model.png | Bin 0 -> 57162 bytes .../figures/T0-fig-parameter-matching.png | Bin 0 -> 95584 bytes .../figures/T0-fig-trainer-and-evaluator.png | Bin 0 -> 71418 bytes .../figures/T0-fig-training-structure.png | Bin 0 -> 80296 bytes .../figures/T1-fig-dataset-and-vocabulary.png | Bin 0 -> 138905 bytes .../figures/paddle-ernie-1.0-masking-levels.png | Bin 0 -> 59022 bytes .../tutorials/figures/paddle-ernie-1.0-masking.png | Bin 0 -> 46898 bytes .../paddle-ernie-2.0-continual-pretrain.png | Bin 0 -> 128680 bytes .../figures/paddle-ernie-3.0-framework.png | Bin 0 -> 202018 bytes fastNLP/__init__.py | 2 +- fastNLP/core/collators/padders/oneflow_padder.py | 1 + fastNLP/core/controllers/trainer.py | 14 +- fastNLP/core/dataset/dataset.py | 11 +- fastNLP/core/drivers/torch_driver/torch_fsdp.py | 10 +- fastNLP/embeddings/torch/static_embedding.py | 2 +- fastNLP/transformers/__init__.py | 1 - 29 files changed, 14671 insertions(+), 20 deletions(-) create mode 100644 docs/source/tutorials/fastnlp_tutorial_0.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_1.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_2.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_3.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_4.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_5.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_6.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_e1.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_e2.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_paddle_e1.ipynb create mode 100644 docs/source/tutorials/fastnlp_tutorial_paddle_e2.ipynb create mode 100644 docs/source/tutorials/figures/E1-fig-glue-benchmark.png create mode 100644 docs/source/tutorials/figures/E2-fig-p-tuning-v2-model.png create mode 100644 docs/source/tutorials/figures/E2-fig-pet-model.png create mode 100644 docs/source/tutorials/figures/T0-fig-parameter-matching.png create mode 100644 docs/source/tutorials/figures/T0-fig-trainer-and-evaluator.png create mode 100644 docs/source/tutorials/figures/T0-fig-training-structure.png create mode 100644 docs/source/tutorials/figures/T1-fig-dataset-and-vocabulary.png create mode 100644 docs/source/tutorials/figures/paddle-ernie-1.0-masking-levels.png create mode 100644 docs/source/tutorials/figures/paddle-ernie-1.0-masking.png create mode 100644 docs/source/tutorials/figures/paddle-ernie-2.0-continual-pretrain.png create mode 100644 docs/source/tutorials/figures/paddle-ernie-3.0-framework.png diff --git a/docs/source/tutorials/fastnlp_tutorial_0.ipynb b/docs/source/tutorials/fastnlp_tutorial_0.ipynb new file mode 100644 index 00000000..09667794 --- /dev/null +++ b/docs/source/tutorials/fastnlp_tutorial_0.ipynb @@ -0,0 +1,1352 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "aec0fde7", + "metadata": {}, + "source": [ + "# T0. trainer 和 evaluator 的基本使用\n", + "\n", + "  1   trainer 和 evaluator 的基本关系\n", + " \n", + "    1.1   trainer 和 evaluater 的初始化\n", + "\n", + "    1.2   driver 的含义与使用要求\n", + "\n", + "    1.3   trainer 内部初始化 evaluater\n", + "\n", + "  2   使用 fastNLP 搭建 argmax 模型\n", + "\n", + "    2.1   trainer_step 和 evaluator_step\n", + "\n", + "    2.2   trainer 和 evaluator 的参数匹配\n", + "\n", + "    2.3   示例:argmax 模型的搭建\n", + "\n", + "  3   使用 fastNLP 训练 argmax 模型\n", + " \n", + "    3.1   trainer 外部初始化的 evaluator\n", + "\n", + "    3.2   trainer 内部初始化的 evaluator " + ] + }, + { + "cell_type": "markdown", + "id": "09ea669a", + "metadata": {}, + "source": [ + "## 1. trainer 和 evaluator 的基本关系\n", + "\n", + "### 1.1 trainer 和 evaluator 的初始化\n", + "\n", + "在`fastNLP 1.0`中,`Trainer`模块和`Evaluator`模块分别表示 **“训练器”和“评测器”**\n", + "\n", + "  对应于之前的`fastNLP`版本中的`Trainer`模块和`Tester`模块,其定义方法如下所示\n", + "\n", + "在`fastNLP 1.0`中,需要注意,在同个`python`脚本中先使用`Trainer`训练,然后使用`Evaluator`评测\n", + "\n", + "  非常关键的问题在于**如何正确设置二者的 driver**。这就引入了另一个问题:什么是 `driver`?\n", + "\n", + "\n", + "```python\n", + "trainer = Trainer(\n", + " model=model, # 模型基于 torch.nn.Module\n", + " train_dataloader=train_dataloader, # 加载模块基于 torch.utils.data.DataLoader \n", + " optimizers=optimizer, # 优化模块基于 torch.optim.*\n", + " ...\n", + " driver=\"torch\", # 使用 pytorch 模块进行训练 \n", + " device='cuda', # 使用 GPU:0 显卡执行训练\n", + " ...\n", + " )\n", + "...\n", + "evaluator = Evaluator(\n", + " model=model, # 模型基于 torch.nn.Module\n", + " dataloaders=evaluate_dataloader, # 加载模块基于 torch.utils.data.DataLoader\n", + " metrics={'acc': Accuracy()}, # 测评方法使用 fastNLP.core.metrics.Accuracy \n", + " ...\n", + " driver=trainer.driver, # 保持同 trainer 的 driver 一致\n", + " device=None,\n", + " ...\n", + " )\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "3c11fe1a", + "metadata": {}, + "source": [ + "### 1.2 driver 的含义与使用要求\n", + "\n", + "在`fastNLP 1.0`中,**driver**这一概念被用来表示**控制具体训练的各个步骤的最终执行部分**\n", + "\n", + "  例如神经网络前向、后向传播的具体执行、网络参数的优化和数据在设备间的迁移等\n", + "\n", + "在`fastNLP 1.0`中,**Trainer 和 Evaluator 都依赖于具体的 driver 来完成整体的工作流程**\n", + "\n", + "  具体`driver`与`Trainer`以及`Evaluator`之间的关系之后`tutorial 4`中的详细介绍\n", + "\n", + "注:这里给出一条建议:**在同一脚本中**,**所有的** Trainer **和** Evaluator **使用的** driver **应当保持一致**\n", + "\n", + "  尽量不出现,之前使用单卡的`driver`,后面又使用多卡的`driver`,这是因为,当脚本执行至\n", + "\n", + "  多卡`driver`处时,会重启一个进程执行之前所有内容,如此一来可能会造成一些意想不到的麻烦" + ] + }, + { + "cell_type": "markdown", + "id": "2cac4a1a", + "metadata": {}, + "source": [ + "### 1.3 Trainer 内部初始化 Evaluator\n", + "\n", + "在`fastNLP 1.0`中,如果在**初始化 Trainer 时**,**传入参数 evaluator_dataloaders 和 metrics **\n", + "\n", + "  则在`Trainer`内部,也会初始化单独的`Evaluator`来帮助训练过程中对验证集的评测\n", + "\n", + "```python\n", + "trainer = Trainer(\n", + " model=model,\n", + " train_dataloader=train_dataloader,\n", + " optimizers=optimizer,\n", + " ...\n", + " driver=\"torch\",\n", + " device='cuda',\n", + " ...\n", + " evaluate_dataloaders=evaluate_dataloader, # 传入参数 evaluator_dataloaders\n", + " metrics={'acc': Accuracy()}, # 传入参数 metrics\n", + " ...\n", + " )\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "0c9c7dda", + "metadata": {}, + "source": [ + "## 2. argmax 模型的搭建实例" + ] + }, + { + "cell_type": "markdown", + "id": "524ac200", + "metadata": {}, + "source": [ + "### 2.1 trainer_step 和 evaluator_step\n", + "\n", + "在`fastNLP 1.0`中,使用`pytorch.nn.Module`搭建需要训练的模型,在搭建模型过程中,除了\n", + "\n", + "  添加`pytorch`要求的`forward`方法外,还需要添加 `train_step` 和 `evaluate_step` 这两个方法\n", + "\n", + "```python\n", + "class Model(torch.nn.Module):\n", + " def __init__(self):\n", + " super(Model, self).__init__()\n", + " self.loss_fn = torch.nn.CrossEntropyLoss()\n", + " pass\n", + "\n", + " def forward(self, x):\n", + " pass\n", + "\n", + " def train_step(self, x, y):\n", + " pred = self(x)\n", + " return {\"loss\": self.loss_fn(pred, y)}\n", + "\n", + " def evaluate_step(self, x, y):\n", + " pred = self(x)\n", + " pred = torch.max(pred, dim=-1)[1]\n", + " return {\"pred\": pred, \"target\": y}\n", + "```\n", + "***\n", + "在`fastNLP 1.0`中,**函数 train_step 是 Trainer 中参数 train_fn 的默认值**\n", + "\n", + "  由于,在`Trainer`训练时,**Trainer 通过参数 train_fn 对应的模型方法获得当前数据批次的损失值**\n", + "\n", + "  因此,在`Trainer`训练时,`Trainer`首先会寻找模型是否定义了`train_step`这一方法\n", + "\n", + "    如果没有找到,那么`Trainer`会默认使用模型的`forward`函数来进行训练的前向传播过程\n", + "\n", + "注:在`fastNLP 1.0`中,**Trainer 要求模型通过 train_step 来返回一个字典**,**满足如 {\"loss\": loss} 的形式**\n", + "\n", + "  此外,这里也可以通过传入`Trainer`的参数`output_mapping`来实现输出的转换,详见(trainer的详细讲解,待补充)\n", + "\n", + "同样,在`fastNLP 1.0`中,**函数 evaluate_step 是 Evaluator 中参数 evaluate_fn 的默认值**\n", + "\n", + "  在`Evaluator`测试时,**Evaluator 通过参数 evaluate_fn 对应的模型方法获得当前数据批次的评测结果**\n", + "\n", + "  从用户角度,模型通过`evaluate_step`方法来返回一个字典,内容与传入`Evaluator`的`metrics`一致\n", + "\n", + "  从模块角度,该字典的键值和`metric`中的`update`函数的签名一致,这样的机制在传参时被称为“**参数匹配**”\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "fb3272eb", + "metadata": {}, + "source": [ + "### 2.2 trainer 和 evaluator 的参数匹配\n", + "\n", + "在`fastNLP 1.0`中,参数匹配涉及到两个方面,分别是在\n", + "\n", + "  一方面,**在模型的前向传播中**,**dataloader 向 train_step 或 evaluate_step 函数传递 batch**\n", + "\n", + "  另方面,**在模型的评测过程中**,**evaluate_dataloader 向 metric 的 update 函数传递 batch**\n", + "\n", + "对于前者,在`Trainer`和`Evaluator`中的参数`model_wo_auto_param_call`被设置为`False`时\n", + "\n", + "    **fastNLP 1.0 要求 dataloader 生成的每个 batch **,**满足如 {\"x\": x, \"y\": y} 的形式**\n", + "\n", + "  同时,`fastNLP 1.0`会查看模型的`train_step`和`evaluate_step`方法的参数签名,并为对应参数传入对应数值\n", + "\n", + "    **字典形式的定义**,**对应在 Dataset 定义的 \\_\\_getitem\\_\\_ 方法中**,例如下方的`ArgMaxDatset`\n", + "\n", + "  而在`Trainer`和`Evaluator`中的参数`model_wo_auto_param_call`被设置为`True`时\n", + "\n", + "    `fastNLP 1.0`会将`batch`直接传给模型的`train_step`、`evaluate_step`或`forward`函数\n", + "\n", + "```python\n", + "class Dataset(torch.utils.data.Dataset):\n", + " def __init__(self, x, y):\n", + " self.x = x\n", + " self.y = y\n", + "\n", + " def __len__(self):\n", + " return len(self.x)\n", + "\n", + " def __getitem__(self, item):\n", + " return {\"x\": self.x[item], \"y\": self.y[item]}\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "f5f1a6aa", + "metadata": {}, + "source": [ + "对于后者,首先要明确,在`Trainer`和`Evaluator`中,`metrics`的计算分为`update`和`get_metric`两步\n", + "\n", + "    **update 函数**,**针对一个 batch 的预测结果**,计算其累计的评价指标\n", + "\n", + "    **get_metric 函数**,**统计 update 函数累计的评价指标**,来计算最终的评价结果\n", + "\n", + "  例如对于`Accuracy`来说,`update`函数会更新一个`batch`的正例数量`right_num`和负例数量`total_num`\n", + "\n", + "    而`get_metric`函数则会返回所有`batch`的评测值`right_num / total_num`\n", + "\n", + "  在此基础上,**fastNLP 1.0 要求 evaluate_dataloader 生成的每个 batch 传递给对应的 metric**\n", + "\n", + "    **以 {\"pred\": y_pred, \"target\": y_true} 的形式**,对应其`update`函数的函数签名\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "f62b7bb1", + "metadata": {}, + "source": [ + "### 2.3 示例:argmax 模型的搭建\n", + "\n", + "下文将通过训练`argmax`模型,简单介绍如何`Trainer`模块的使用方式\n", + "\n", + "  首先,使用`pytorch.nn.Module`定义`argmax`模型,目标是输入一组固定维度的向量,输出其中数值最大的数的索引" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "5314482b", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "\n", + "class ArgMaxModel(nn.Module):\n", + " def __init__(self, num_labels, feature_dimension):\n", + " nn.Module.__init__(self)\n", + " self.num_labels = num_labels\n", + "\n", + " self.linear1 = nn.Linear(in_features=feature_dimension, out_features=10)\n", + " self.ac1 = nn.ReLU()\n", + " self.linear2 = nn.Linear(in_features=10, out_features=10)\n", + " self.ac2 = nn.ReLU()\n", + " self.output = nn.Linear(in_features=10, out_features=num_labels)\n", + " self.loss_fn = nn.CrossEntropyLoss()\n", + "\n", + " def forward(self, x):\n", + " pred = self.ac1(self.linear1(x))\n", + " pred = self.ac2(self.linear2(pred))\n", + " pred = self.output(pred)\n", + " return pred\n", + "\n", + " def train_step(self, x, y):\n", + " pred = self(x)\n", + " return {\"loss\": self.loss_fn(pred, y)}\n", + "\n", + " def evaluate_step(self, x, y):\n", + " pred = self(x)\n", + " pred = torch.max(pred, dim=-1)[1]\n", + " return {\"pred\": pred, \"target\": y}" + ] + }, + { + "cell_type": "markdown", + "id": "71f3fa6b", + "metadata": {}, + "source": [ + "  接着,使用`torch.utils.data.Dataset`定义`ArgMaxDataset`数据集\n", + "\n", + "    数据集包含三个参数:维度`feature_dimension`、数据量`data_num`和随机种子`seed`\n", + "\n", + "    数据及初始化是,自动生成指定维度的向量,并为每个向量标注出其中最大值的索引作为预测标签" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fe612e61", + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "from torch.utils.data import Dataset\n", + "\n", + "class ArgMaxDataset(Dataset):\n", + " def __init__(self, feature_dimension, data_num=1000, seed=0):\n", + " self.num_labels = feature_dimension\n", + " self.feature_dimension = feature_dimension\n", + " self.data_num = data_num\n", + " self.seed = seed\n", + "\n", + " g = torch.Generator()\n", + " g.manual_seed(1000)\n", + " self.x = torch.randint(low=-100, high=100, size=[data_num, feature_dimension], generator=g).float()\n", + " self.y = torch.max(self.x, dim=-1)[1]\n", + "\n", + " def __len__(self):\n", + " return self.data_num\n", + "\n", + " def __getitem__(self, item):\n", + " return {\"x\": self.x[item], \"y\": self.y[item]}" + ] + }, + { + "cell_type": "markdown", + "id": "2cb96332", + "metadata": {}, + "source": [ + "  然后,根据`ArgMaxModel`类初始化模型实例,保持输入维度`feature_dimension`和输出标签数量`num_labels`一致\n", + "\n", + "    再根据`ArgMaxDataset`类初始化两个数据集实例,分别用来模型测试和模型评测,数据量各1000笔" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "76172ef8", + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "model = ArgMaxModel(num_labels=10, feature_dimension=10)\n", + "\n", + "train_dataset = ArgMaxDataset(feature_dimension=10, data_num=1000)\n", + "evaluate_dataset = ArgMaxDataset(feature_dimension=10, data_num=100)" + ] + }, + { + "cell_type": "markdown", + "id": "4e7d25ee", + "metadata": {}, + "source": [ + "  此外,使用`torch.utils.data.DataLoader`初始化两个数据加载模块,批量大小同为8,分别用于训练和测评" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "363b5b09", + "metadata": {}, + "outputs": [], + "source": [ + "from torch.utils.data import DataLoader\n", + "\n", + "train_dataloader = DataLoader(train_dataset, batch_size=8, shuffle=True)\n", + "evaluate_dataloader = DataLoader(evaluate_dataset, batch_size=8)" + ] + }, + { + "cell_type": "markdown", + "id": "c8d4443f", + "metadata": {}, + "source": [ + "  最后,使用`torch.optim.SGD`初始化一个优化模块,基于随机梯度下降法" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "dc28a2d9", + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "from torch.optim import SGD\n", + "\n", + "optimizer = SGD(model.parameters(), lr=0.001)" + ] + }, + { + "cell_type": "markdown", + "id": "eb8ca6cf", + "metadata": {}, + "source": [ + "## 3. 使用 fastNLP 1.0 训练 argmax 模型\n", + "\n", + "### 3.1 trainer 外部初始化的 evaluator" + ] + }, + { + "cell_type": "markdown", + "id": "55145553", + "metadata": {}, + "source": [ + "通过从`fastNLP`库中导入`Trainer`类,初始化`trainer`实例,对模型进行训练\n", + "\n", + "  需要导入预先定义好的模型`model`、对应的数据加载模块`train_dataloader`、优化模块`optimizer`\n", + "\n", + "  通过`progress_bar`设定进度条格式,默认为`\"auto\"`,此外还有`\"rich\"`、`\"raw\"`和`None`\n", + "\n", + "    但对于`\"auto\"`和`\"rich\"`格式,在`jupyter`中,进度条会在训练结束后会被丢弃\n", + "\n", + "  通过`n_epochs`设定优化迭代轮数,默认为20;全部`Trainer`的全部变量与函数可以通过`dir(trainer)`查询" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b51b7a2d", + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "from fastNLP import Trainer\n", + "\n", + "trainer = Trainer(\n", + " model=model,\n", + " driver=\"torch\",\n", + " device='cuda',\n", + " train_dataloader=train_dataloader,\n", + " optimizers=optimizer,\n", + " n_epochs=10, # 设定迭代轮数 \n", + " progress_bar=\"auto\" # 设定进度条格式\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6e202d6e", + "metadata": {}, + "source": [ + "通过使用`Trainer`类的`run`函数,进行训练\n", + "\n", + "  其中,可以通过参数`num_train_batch_per_epoch`决定每个`epoch`运行多少个`batch`后停止,默认全部\n", + "\n", + "  `run`函数完成后在`jupyter`中没有输出保留,此外,通过`help(trainer.run)`可以查询`run`函数的详细内容" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ba047ead", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run()" + ] + }, + { + "cell_type": "markdown", + "id": "c16c5fa4", + "metadata": {}, + "source": [ + "通过从`fastNLP`库中导入`Evaluator`类,初始化`evaluator`实例,对模型进行评测\n", + "\n", + "  需要导入预先定义好的模型`model`、对应的数据加载模块`evaluate_dataloader`\n", + "\n", + "  需要注意的是评测方法`metrics`,设定为形如`{'acc': fastNLP.core.metrics.Accuracy()}`的字典\n", + "\n", + "  类似地,也可以通过`progress_bar`限定进度条格式,默认为`\"auto\"`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1c6b6b36", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [], + "source": [ + "from fastNLP import Evaluator\n", + "from fastNLP import Accuracy\n", + "\n", + "evaluator = Evaluator(\n", + " model=model,\n", + " driver=trainer.driver, # 需要使用 trainer 已经启动的 driver\n", + " device=None,\n", + " dataloaders=evaluate_dataloader,\n", + " metrics={'acc': Accuracy()} # 需要严格使用此种形式的字典\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "8157bb9b", + "metadata": {}, + "source": [ + "通过使用`Evaluator`类的`run`函数,进行训练\n", + "\n", + "  其中,可以通过参数`num_eval_batch_per_dl`决定每个`evaluate_dataloader`运行多少个`batch`停止,默认全部\n", + "\n", + "  最终,输出形如`{'acc#acc': acc}`的字典,在`jupyter`中,进度条会在评测结束后会被丢弃" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f7cb0165", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
{'acc#acc': 0.31, 'total#acc': 100.0, 'correct#acc': 31.0}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\u001b[32m'acc#acc'\u001b[0m: \u001b[1;36m0.31\u001b[0m, \u001b[32m'total#acc'\u001b[0m: \u001b[1;36m100.0\u001b[0m, \u001b[32m'correct#acc'\u001b[0m: \u001b[1;36m31.0\u001b[0m\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "{'acc#acc': 0.31, 'total#acc': 100.0, 'correct#acc': 31.0}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "evaluator.run()" + ] + }, + { + "cell_type": "markdown", + "id": "dd9f68fa", + "metadata": {}, + "source": [ + "### 3.2 trainer 内部初始化的 evaluator \n", + "\n", + "通过在初始化`trainer`实例时加入`evaluate_dataloaders`和`metrics`,可以实现在训练过程中进行评测\n", + "\n", + "  通过`progress_bar`同时设定训练和评估进度条格式,在`jupyter`中,在进度条训练结束后会被丢弃\n", + "\n", + "  但是中间的评估结果仍会保留;**通过 evaluate_every 设定评估频率**,可以为负数、正数或者函数:\n", + "\n", + "    **为负数时**,**表示每隔几个 epoch 评估一次**;**为正数时**,**则表示每隔几个 batch 评估一次**" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "183c7d19", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [], + "source": [ + "trainer = Trainer(\n", + " model=model,\n", + " driver=trainer.driver, # 因为是在同个脚本中,这里的 driver 同样需要重用\n", + " train_dataloader=train_dataloader,\n", + " evaluate_dataloaders=evaluate_dataloader,\n", + " metrics={'acc': Accuracy()},\n", + " optimizers=optimizer,\n", + " n_epochs=10, \n", + " evaluate_every=-1, # 表示每个 epoch 的结束进行评估\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "714cc404", + "metadata": {}, + "source": [ + "通过使用`Trainer`类的`run`函数,进行训练\n", + "\n", + "  还可以通过**参数 num_eval_sanity_batch 决定每次训练前运行多少个 evaluate_batch 进行评测**,**默认为 2 **\n", + "\n", + "  之所以“先评测后训练”,是为了保证训练很长时间的数据,不会在评测阶段出问题,故作此**试探性评测**" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "2e4daa2c", + "metadata": { + "pycharm": { + "is_executing": true + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
[18:28:25] INFO     Running evaluator sanity check for 2 batches.              trainer.py:592\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[18:28:25]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=549287;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=645362;file://../fastNLP/core/controllers/trainer.py#592\u001b\\\u001b[2m592\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.31,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 31.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.31\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m31.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.33,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 33.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.33\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m33.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.34,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 34.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.34\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m34.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.36,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 36.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.36\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m36.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.36,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 36.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.36\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m36.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.36,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 36.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.36\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m36.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.36,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 36.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.36\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m36.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.36,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 36.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.36\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m36.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.37,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 37.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.37\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m37.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.4,\n",
+       "  \"total#acc\": 100.0,\n",
+       "  \"correct#acc\": 40.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.4\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m40.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c4e9c619", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'acc#acc': 0.4, 'total#acc': 100.0, 'correct#acc': 40.0}"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1bc7cb4a",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.13"
+  },
+  "pycharm": {
+   "stem_cell": {
+    "cell_type": "raw",
+    "metadata": {
+     "collapsed": false
+    },
+    "source": []
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/source/tutorials/fastnlp_tutorial_1.ipynb b/docs/source/tutorials/fastnlp_tutorial_1.ipynb
new file mode 100644
index 00000000..cff81a21
--- /dev/null
+++ b/docs/source/tutorials/fastnlp_tutorial_1.ipynb
@@ -0,0 +1,1333 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "cdc25fcd",
+   "metadata": {},
+   "source": [
+    "# T1. dataset 和 vocabulary 的基本使用\n",
+    "\n",
+    "  1   dataset 的使用与结构\n",
+    " \n",
+    "    1.1   dataset 的结构与创建\n",
+    "\n",
+    "    1.2   dataset 的数据预处理\n",
+    "\n",
+    "    1.3   延伸:instance 和 field\n",
+    "\n",
+    "  2   vocabulary 的结构与使用\n",
+    "\n",
+    "    2.1   vocabulary 的创建与修改\n",
+    "\n",
+    "    2.2   vocabulary 与 OOV 问题\n",
+    "\n",
+    "  3   dataset 和 vocabulary 的组合使用\n",
+    " \n",
+    "    3.1   从 dataframe 中加载 dataset\n",
+    "\n",
+    "    3.2   从 dataset 中获取 vocabulary"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0eb18a22",
+   "metadata": {},
+   "source": [
+    "## 1. dataset 的基本使用\n",
+    "\n",
+    "### 1.1  dataset 的结构与创建\n",
+    "\n",
+    "在`fastNLP 1.0`中,使用`DataSet`模块表示数据集,**dataset 类似于关系型数据库中的数据表**(下文统一为小写 `dataset`)\n",
+    "\n",
+    "  **主要包含 field 字段和 instance 实例两个元素**,对应 table 中的 field 字段和`record`记录\n",
+    "\n",
+    "在`fastNLP 1.0`中,`DataSet`模块被定义在`fastNLP.core.dataset`路径下,导入该模块后,最简单的\n",
+    "\n",
+    "  初始化方法,即将字典形式的表格 **{'field1': column1, 'field2': column2, ...}** 传入构造函数"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "a1d69ad2",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-----+------------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+------------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 1 | I like apples . | ['I', 'like', 'appl... | 4 |\n", + "| 2 | Apples are good for... | ['Apples', 'are', '... | 7 |\n", + "+-----+------------------------+------------------------+-----+\n" + ] + } + ], + "source": [ + "from fastNLP import DataSet\n", + "\n", + "data = {'idx': [0, 1, 2], \n", + " 'sentence':[\"This is an apple .\", \"I like apples .\", \"Apples are good for our health .\"],\n", + " 'words': [['This', 'is', 'an', 'apple', '.'], \n", + " ['I', 'like', 'apples', '.'], \n", + " ['Apples', 'are', 'good', 'for', 'our', 'health', '.']],\n", + " 'num': [5, 4, 7]}\n", + "\n", + "dataset = DataSet(data)\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "9260fdc6", + "metadata": {}, + "source": [ + "  在`dataset`的实例中,字段`field`的名称和实例`instance`中的字符串也可以中文" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3d72ef00", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+------+--------------------+------------------------+------+\n", + "| 序号 | 句子 | 字符 | 长度 |\n", + "+------+--------------------+------------------------+------+\n", + "| 0 | 生活就像海洋, | ['生', '活', '就', ... | 7 |\n", + "| 1 | 只有意志坚强的人, | ['只', '有', '意', ... | 9 |\n", + "| 2 | 才能到达彼岸。 | ['才', '能', '到', ... | 7 |\n", + "+------+--------------------+------------------------+------+\n" + ] + } + ], + "source": [ + "temp = {'序号': [0, 1, 2], \n", + " '句子':[\"生活就像海洋,\", \"只有意志坚强的人,\", \"才能到达彼岸。\"],\n", + " '字符': [['生', '活', '就', '像', '海', '洋', ','], \n", + " ['只', '有', '意', '志', '坚', '强', '的', '人', ','], \n", + " ['才', '能', '到', '达', '彼', '岸', '。']],\n", + " '长度': [7, 9, 7]}\n", + "\n", + "chinese = DataSet(temp)\n", + "print(chinese)" + ] + }, + { + "cell_type": "markdown", + "id": "202e5490", + "metadata": {}, + "source": [ + "在`dataset`中,使用`drop`方法可以删除满足条件的实例,这里使用了python中的`lambda`表达式\n", + "\n", + "  注一:在`drop`方法中,通过设置`inplace`参数将删除对应实例后的`dataset`作为一个新的实例生成" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "09b478f8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2492313174344 2491986424200\n", + "+-----+------------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+------------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 2 | Apples are good for... | ['Apples', 'are', '... | 7 |\n", + "+-----+------------------------+------------------------+-----+\n", + "+-----+------------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+------------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 1 | I like apples . | ['I', 'like', 'appl... | 4 |\n", + "| 2 | Apples are good for... | ['Apples', 'are', '... | 7 |\n", + "+-----+------------------------+------------------------+-----+\n" + ] + } + ], + "source": [ + "dropped = dataset\n", + "dropped = dropped.drop(lambda ins:ins['num'] < 5, inplace=False)\n", + "print(id(dropped), id(dataset))\n", + "print(dropped)\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "aa277674", + "metadata": {}, + "source": [ + "  注二:**对对象使用等号一般表示传引用**,所以对`dataset`使用等号,是传引用而不是赋值\n", + "\n", + "    如下所示,**dropped 和 dataset 具有相同 id**,**对 dropped 执行删除操作 dataset 同时会被修改**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "77c8583a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2491986424200 2491986424200\n", + "+-----+------------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+------------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 2 | Apples are good for... | ['Apples', 'are', '... | 7 |\n", + "+-----+------------------------+------------------------+-----+\n", + "+-----+------------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+------------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 2 | Apples are good for... | ['Apples', 'are', '... | 7 |\n", + "+-----+------------------------+------------------------+-----+\n" + ] + } + ], + "source": [ + "dropped = dataset\n", + "dropped.drop(lambda ins:ins['num'] < 5)\n", + "print(id(dropped), id(dataset))\n", + "print(dropped)\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "a76199dc", + "metadata": {}, + "source": [ + "在`dataset`中,使用`delet_instance`方法可以删除对应序号的`instance`实例,序号从0开始" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d8824b40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-----+--------------------+------------------------+-----+\n", + "| idx | sentence | words | num |\n", + "+-----+--------------------+------------------------+-----+\n", + "| 0 | This is an apple . | ['This', 'is', 'an'... | 5 |\n", + "| 1 | I like apples . | ['I', 'like', 'appl... | 4 |\n", + "+-----+--------------------+------------------------+-----+\n" + ] + } + ], + "source": [ + "dataset = DataSet(data)\n", + "dataset.delete_instance(2)\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "f4fa9f33", + "metadata": {}, + "source": [ + "在`dataset`中,使用`delet_field`方法可以删除对应名称的`field`字段" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f68ddb40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-----+--------------------+------------------------------+\n", + "| idx | sentence | words |\n", + "+-----+--------------------+------------------------------+\n", + "| 0 | This is an apple . | ['This', 'is', 'an', 'app... |\n", + "| 1 | I like apples . | ['I', 'like', 'apples', '... |\n", + "+-----+--------------------+------------------------------+\n" + ] + } + ], + "source": [ + "dataset.delete_field('num')\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "b1e9d42c", + "metadata": {}, + "source": [ + "### 1.2 dataset 的数据预处理\n", + "\n", + "在`dataset`模块中,`apply`、`apply_field`、`apply_more`和`apply_field_more`函数可以进行简单的数据预处理\n", + "\n", + "  **apply 和 apply_more 输入整条实例**,**apply_field 和 apply_field_more 仅输入实例的部分字段**\n", + "\n", + "  **apply 和 apply_field 仅输出单个字段**,**apply_more 和 apply_field_more 则是输出多个字段**\n", + "\n", + "  **apply 和 apply_field 返回的是个列表**,**apply_more 和 apply_field_more 返回的是个字典**\n", + "\n", + "    预处理过程中,通过`progress_bar`参数设置显示进度条类型,通过`num_proc`设置多进程\n", + "***\n", + "\n", + "`apply`的参数包括一个函数`func`和一个新字段名`new_field_name`,函数`func`的处理对象是`dataset`模块中\n", + "\n", + "  的每个`instance`实例,函数`func`的处理结果存放在`new_field_name`对应的新建字段内" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "72a0b5f9", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/3 [00:00,\n", + " 'words': ,\n", + " 'num': }" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.get_all_fields()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "5433815c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['num', 'sentence', 'words']" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.get_field_names()" + ] + }, + { + "cell_type": "markdown", + "id": "4964eeed", + "metadata": {}, + "source": [ + "其他`dataset`的基本使用:通过`in`或者`has_field`方法可以判断`dataset`的是否包含某种字段\n", + "\n", + "  通过`rename_field`方法可以更改`dataset`中的字段名称;通过`concat`方法可以实现两个`dataset`中的拼接\n", + "\n", + "  通过`len`可以统计`dataset`中的实例数目;`dataset`的全部变量与函数可以通过`dir(dataset)`查询" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "25ce5488", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3 False\n", + "6 True\n", + "+------------------------------+------------------------------+--------+\n", + "| sentence | words | length |\n", + "+------------------------------+------------------------------+--------+\n", + "| This is an apple . | ['This', 'is', 'an', 'app... | 5 |\n", + "| I like apples . | ['I', 'like', 'apples', '... | 4 |\n", + "| Apples are good for our h... | ['Apples', 'are', 'good',... | 7 |\n", + "| This is an apple . | ['This', 'is', 'an', 'app... | 5 |\n", + "| I like apples . | ['I', 'like', 'apples', '... | 4 |\n", + "| Apples are good for our h... | ['Apples', 'are', 'good',... | 7 |\n", + "+------------------------------+------------------------------+--------+\n" + ] + } + ], + "source": [ + "print(len(dataset), dataset.has_field('length')) \n", + "if 'num' in dataset:\n", + " dataset.rename_field('num', 'length')\n", + "elif 'length' in dataset:\n", + " dataset.rename_field('length', 'num')\n", + "dataset.concat(dataset)\n", + "print(len(dataset), dataset.has_field('length')) \n", + "print(dataset) " + ] + }, + { + "cell_type": "markdown", + "id": "e30a6cd7", + "metadata": {}, + "source": [ + "## 2. vocabulary 的结构与使用\n", + "\n", + "### 2.1 vocabulary 的创建与修改\n", + "\n", + "在`fastNLP 1.0`中,使用`Vocabulary`模块表示词汇表,**vocabulary 的核心是从单词到序号的映射**\n", + "\n", + "  可以直接通过构造函数实例化,通过查找`word2idx`属性,可以找到`vocabulary`映射对应的字典实现\n", + "\n", + "  **默认补零 padding 用 \\ 表示**,**对应序号为0**;**未知单词 unknown 用 \\ 表示**,**对应序号1**\n", + "\n", + "  通过打印`vocabulary`可以看到词汇表中的单词列表,其中,`padding`和`unknown`不会显示" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "3515e096", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vocabulary([]...)\n", + "{'': 0, '': 1}\n", + " 0\n", + " 1\n" + ] + } + ], + "source": [ + "from fastNLP import Vocabulary\n", + "\n", + "vocab = Vocabulary()\n", + "print(vocab)\n", + "print(vocab.word2idx)\n", + "print(vocab.padding, vocab.padding_idx)\n", + "print(vocab.unknown, vocab.unknown_idx)" + ] + }, + { + "cell_type": "markdown", + "id": "640be126", + "metadata": {}, + "source": [ + "在`vocabulary`中,通过`add_word`方法或`add_word_lst`方法,可以单独或批量添加单词\n", + "\n", + "  通过`len`或`word_count`属性,可以显示`vocabulary`的单词量和每个单词添加的次数" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "88c7472a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5 Counter({'生活': 1, '就像': 1, '海洋': 1})\n", + "6 Counter({'生活': 1, '就像': 1, '海洋': 1, '只有': 1})\n", + "6 {'': 0, '': 1, '生活': 2, '就像': 3, '海洋': 4, '只有': 5}\n" + ] + } + ], + "source": [ + "vocab.add_word_lst(['生活', '就像', '海洋'])\n", + "print(len(vocab), vocab.word_count)\n", + "vocab.add_word('只有')\n", + "print(len(vocab), vocab.word_count)\n", + "print(len(vocab), vocab.word2idx)" + ] + }, + { + "cell_type": "markdown", + "id": "f9ec8b28", + "metadata": {}, + "source": [ + "  **通过 to_word 方法可以找到单词对应的序号**,**通过 to_index 方法可以找到序号对应的单词**\n", + "\n", + "    由于序号0和序号1已经被占用,所以**新加入的词的序号从2开始计数**,如`'生活'`对应2\n", + "\n", + "    通过`has_word`方法可以判断单词是否在词汇表中,没有的单词被判做``" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "3447acde", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0\n", + " 1\n", + "生活 2\n", + "彼岸 1 False\n" + ] + } + ], + "source": [ + "print(vocab.to_word(0), vocab.to_index(''))\n", + "print(vocab.to_word(1), vocab.to_index(''))\n", + "print(vocab.to_word(2), vocab.to_index('生活'))\n", + "print('彼岸', vocab.to_index('彼岸'), vocab.has_word('彼岸'))" + ] + }, + { + "cell_type": "markdown", + "id": "b4e36850", + "metadata": {}, + "source": [ + "**vocabulary 允许反复添加相同单词**,**可以通过 word_count 方法看到相应单词被添加的次数**\n", + "\n", + "  但其中没有``和``,`vocabulary`的全部变量与函数可以通过`dir(vocabulary)`查询\n", + "\n", + "  注:**使用 add_word_lst 添加单词**,**单词对应序号不会动态调整**,**使用 dataset 添加单词的情况不同**" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "490b101c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "生活 2\n", + "彼岸 12 True\n", + "13 Counter({'人': 4, '生活': 2, '就像': 2, '海洋': 2, '只有': 2, '意志': 1, '坚强的': 1, '才': 1, '能': 1, '到达': 1, '彼岸': 1})\n", + "13 {'': 0, '': 1, '生活': 2, '就像': 3, '海洋': 4, '只有': 5, '人': 6, '意志': 7, '坚强的': 8, '才': 9, '能': 10, '到达': 11, '彼岸': 12}\n" + ] + } + ], + "source": [ + "vocab.add_word_lst(['生活', '就像', '海洋', '只有', '意志', '坚强的', '人', '人', '人', '人', '才', '能', '到达', '彼岸'])\n", + "print(vocab.to_word(2), vocab.to_index('生活'))\n", + "print('彼岸', vocab.to_index('彼岸'), vocab.has_word('彼岸'))\n", + "print(len(vocab), vocab.word_count)\n", + "print(len(vocab), vocab.word2idx)" + ] + }, + { + "cell_type": "markdown", + "id": "23e32a63", + "metadata": {}, + "source": [ + "### 2.2 vocabulary 与 OOV 问题\n", + "\n", + "在`vocabulary`模块初始化的时候,可以通过指定`unknown`和`padding`为`None`,限制其存在\n", + "\n", + "  此时添加单词直接从0开始标号,如果遇到未知单词会直接报错,即 out of vocabulary" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a99ff909", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'positive': 0, 'negative': 1}\n", + "ValueError: word `neutral` not in vocabulary\n" + ] + } + ], + "source": [ + "vocab = Vocabulary(unknown=None, padding=None)\n", + "\n", + "vocab.add_word_lst(['positive', 'negative'])\n", + "print(vocab.word2idx)\n", + "\n", + "try:\n", + " print(vocab.to_index('neutral'))\n", + "except ValueError:\n", + " print(\"ValueError: word `neutral` not in vocabulary\")" + ] + }, + { + "cell_type": "markdown", + "id": "618da6bd", + "metadata": {}, + "source": [ + "  相应的,如果只指定其中的`unknown`,则编号会后移一个,同时遇到未知单词全部当做``" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "432f74c1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'': 0, 'positive': 1, 'negative': 2}\n", + "0 \n" + ] + } + ], + "source": [ + "vocab = Vocabulary(unknown='', padding=None)\n", + "\n", + "vocab.add_word_lst(['positive', 'negative'])\n", + "print(vocab.word2idx)\n", + "\n", + "print(vocab.to_index('neutral'), vocab.to_word(vocab.to_index('neutral')))" + ] + }, + { + "cell_type": "markdown", + "id": "b6263f73", + "metadata": {}, + "source": [ + "## 3 dataset 和 vocabulary 的组合使用\n", + " \n", + "### 3.1 从 dataframe 中加载 dataset\n", + "\n", + "以下通过 [NLP-beginner](https://github.com/FudanNLP/nlp-beginner) 实践一中 [Rotten Tomatoes 影评数据集](https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews) 的部分训练数据组成`test4dataset.tsv`文件\n", + "\n", + "  介绍如何使用`dataset`、`vocabulary`简单加载并处理数据集,首先使用`pandas`模块,读取原始数据的`dataframe`" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "3dbd985d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SentenceIdSentenceSentiment
01A series of escapades demonstrating the adage ...negative
12This quiet , introspective and entertaining in...positive
23Even fans of Ismail Merchant 's work , I suspe...negative
34A positively thrilling combination of ethnogra...neutral
45A comedy-drama of nearly epic proportions root...positive
56The Importance of Being Earnest , so thick wit...neutral
\n", + "
" + ], + "text/plain": [ + " SentenceId Sentence Sentiment\n", + "0 1 A series of escapades demonstrating the adage ... negative\n", + "1 2 This quiet , introspective and entertaining in... positive\n", + "2 3 Even fans of Ismail Merchant 's work , I suspe... negative\n", + "3 4 A positively thrilling combination of ethnogra... neutral\n", + "4 5 A comedy-drama of nearly epic proportions root... positive\n", + "5 6 The Importance of Being Earnest , so thick wit... neutral" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv('./data/test4dataset.tsv', sep='\\t')\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "919ab350", + "metadata": {}, + "source": [ + "接着,通过`dataset`中的`from_pandas`方法填充数据集,并使用`apply_more`方法对文本进行分词操作" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "4f634586", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/6 [00:00': 0, '': 1, 'a': 2, 'of': 3, ',': 4, 'the': 5, '.': 6, 'is': 7, 'and': 8, 'good': 9, 'for': 10, 'which': 11, 'this': 12, \"'s\": 13, 'series': 14, 'escapades': 15, 'demonstrating': 16, 'adage': 17, 'that': 18, 'what': 19, 'goose': 20, 'also': 21, 'gander': 22, 'some': 23, 'occasionally': 24, 'amuses': 25, 'but': 26, 'none': 27, 'amounts': 28, 'to': 29, 'much': 30, 'story': 31, 'quiet': 32, 'introspective': 33, 'entertaining': 34, 'independent': 35, 'worth': 36, 'seeking': 37, 'even': 38, 'fans': 39, 'ismail': 40, 'merchant': 41, 'work': 42, 'i': 43, 'suspect': 44, 'would': 45, 'have': 46, 'hard': 47, 'time': 48, 'sitting': 49, 'through': 50, 'one': 51, 'positively': 52, 'thrilling': 53, 'combination': 54, 'ethnography': 55, 'all': 56, 'intrigue': 57, 'betrayal': 58, 'deceit': 59, 'murder': 60, 'shakespearean': 61, 'tragedy': 62, 'or': 63, 'juicy': 64, 'soap': 65, 'opera': 66, 'comedy-drama': 67, 'nearly': 68, 'epic': 69, 'proportions': 70, 'rooted': 71, 'in': 72, 'sincere': 73, 'performance': 74, 'by': 75, 'title': 76, 'character': 77, 'undergoing': 78, 'midlife': 79, 'crisis': 80, 'importance': 81, 'being': 82, 'earnest': 83, 'so': 84, 'thick': 85, 'with': 86, 'wit': 87, 'it': 88, 'plays': 89, 'like': 90, 'reading': 91, 'from': 92, 'bartlett': 93, 'familiar': 94, 'quotations': 95} \n", + "\n", + "Vocabulary(['a', 'series', 'of', 'escapades', 'demonstrating']...)\n" + ] + } + ], + "source": [ + "from fastNLP import Vocabulary\n", + "\n", + "vocab = Vocabulary()\n", + "vocab = vocab.from_dataset(dataset, field_name='Sentence')\n", + "print(vocab.word_count, '\\n')\n", + "print(vocab.word2idx, '\\n')\n", + "print(vocab)" + ] + }, + { + "cell_type": "markdown", + "id": "f0857ccb", + "metadata": {}, + "source": [ + "之后,**通过 vocabulary 的 index_dataset 方法**,**调整 dataset 中指定字段的元素**,**使用编号将之代替**\n", + "\n", + "  使用上述方法,可以将影评数据集中的单词序列转化为词编号序列,为接下来转化为词嵌入序列做准备" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "2f9a04b2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+------------+------------------------------+-----------+\n", + "| SentenceId | Sentence | Sentiment |\n", + "+------------+------------------------------+-----------+\n", + "| 1 | [2, 14, 3, 15, 16, 5, 17,... | negative |\n", + "| 2 | [12, 32, 4, 33, 8, 34, 35... | positive |\n", + "| 3 | [38, 39, 3, 40, 41, 13, 4... | negative |\n", + "| 4 | [2, 52, 53, 54, 3, 55, 8,... | neutral |\n", + "| 5 | [2, 67, 3, 68, 69, 70, 71... | positive |\n", + "| 6 | [5, 81, 3, 82, 83, 4, 84,... | neutral |\n", + "+------------+------------------------------+-----------+\n" + ] + } + ], + "source": [ + "vocab.index_dataset(dataset, field_name='Sentence')\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "6b26b707", + "metadata": {}, + "source": [ + "最后,使用相同方法,再将`dataset`中`Sentiment`字段中的`negative`、`neutral`、`positive`转化为数字编号" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "5f5eed18", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'negative': 0, 'positive': 1, 'neutral': 2}\n", + "+------------+------------------------------+-----------+\n", + "| SentenceId | Sentence | Sentiment |\n", + "+------------+------------------------------+-----------+\n", + "| 1 | [2, 14, 3, 15, 16, 5, 17,... | 0 |\n", + "| 2 | [12, 32, 4, 33, 8, 34, 35... | 1 |\n", + "| 3 | [38, 39, 3, 40, 41, 13, 4... | 0 |\n", + "| 4 | [2, 52, 53, 54, 3, 55, 8,... | 2 |\n", + "| 5 | [2, 67, 3, 68, 69, 70, 71... | 1 |\n", + "| 6 | [5, 81, 3, 82, 83, 4, 84,... | 2 |\n", + "+------------+------------------------------+-----------+\n" + ] + } + ], + "source": [ + "target_vocab = Vocabulary(padding=None, unknown=None)\n", + "\n", + "target_vocab.from_dataset(dataset, field_name='Sentiment')\n", + "print(target_vocab.word2idx)\n", + "target_vocab.index_dataset(dataset, field_name='Sentiment')\n", + "print(dataset)" + ] + }, + { + "cell_type": "markdown", + "id": "eed7ea64", + "metadata": {}, + "source": [ + "在最后的最后,通过以下的一张图,来总结本章关于`dataset`和`vocabulary`主要知识点的讲解,以及两者的联系\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35b4f0f7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/tutorials/fastnlp_tutorial_2.ipynb b/docs/source/tutorials/fastnlp_tutorial_2.ipynb new file mode 100644 index 00000000..546e471d --- /dev/null +++ b/docs/source/tutorials/fastnlp_tutorial_2.ipynb @@ -0,0 +1,884 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# T2. databundle 和 tokenizer 的基本使用\n", + "\n", + "  1   fastNLP 中 dataset 的延伸\n", + "\n", + "    1.1   databundle 的概念与使用\n", + "\n", + "  2   fastNLP 中的 tokenizer\n", + " \n", + "    2.1   PreTrainedTokenizer 的概念\n", + "\n", + "    2.2   BertTokenizer 的基本使用\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. fastNLP 中 dataset 的延伸\n", + "\n", + "### 1.1 databundle 的概念与使用\n", + "\n", + "在`fastNLP 1.0`中,在常用的数据加载模块`DataLoader`和数据集`DataSet`模块之间,还存在\n", + "\n", + "  一个中间模块,即 **数据包 DataBundle 模块**,可以从`fastNLP.io`路径中导入该模块\n", + "\n", + "在`fastNLP 1.0`中,**一个 databundle 数据包包含若干 dataset 数据集和 vocabulary 词汇表**\n", + "\n", + "  分别存储在`datasets`和`vocabs`两个变量中,所以了解`databundle`数据包之前\n", + "\n", + "需要首先**复习 dataset 数据集和 vocabulary 词汇表**,**下面的一串代码**,**你知道其大概含义吗?**\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/6 [00:00': 0, '': 1, 'negative': 2, 'positive': 3, 'neutral': 4}\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "from fastNLP import DataSet\n", + "from fastNLP import Vocabulary\n", + "from fastNLP.io import DataBundle\n", + "\n", + "datasets = DataSet.from_pandas(pd.read_csv('./data/test4dataset.tsv', sep='\\t'))\n", + "datasets.rename_field('Sentence', 'text')\n", + "datasets.rename_field('Sentiment', 'label')\n", + "datasets.apply_more(lambda ins:{'label': ins['label'].lower(), \n", + " 'text': ins['text'].lower().split()},\n", + " progress_bar='tqdm')\n", + "datasets.delete_field('SentenceId')\n", + "train_ds, test_ds = datasets.split(ratio=0.7)\n", + "datasets = {'train': train_ds, 'test': test_ds}\n", + "print(datasets['train'])\n", + "print(datasets['test'])\n", + "\n", + "vocabs = {}\n", + "vocabs['label'] = Vocabulary().from_dataset(datasets['train'].concat(datasets['test'], inplace=False), field_name='label')\n", + "vocabs['text'] = Vocabulary().from_dataset(datasets['train'].concat(datasets['test'], inplace=False), field_name='text')\n", + "print(vocabs['label'].word2idx)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "上述代码的含义是:从`test4dataset`的 6 条数据中,划分 4 条训练集(`int(6*0.7) = 4`),2 条测试集\n", + "\n", + "    修改相关字段名称,删除序号字段,同时将标签都设为小写,对文本进行分词\n", + "\n", + "  接着通过`concat`方法拼接测试集训练集,注意设置`inplace=False`,生成临时的新数据集\n", + "\n", + "  使用`from_dataset`方法从拼接的数据集中抽取词汇表,为将数据集中的单词替换为序号做准备\n", + "\n", + "由此就可以得到**数据集字典 datasets**(**对应训练集、测试集**)和**词汇表字典 vocabs**(**对应数据集各字段**)\n", + "\n", + "  然后就可以初始化`databundle`了,通过`print`可以观察其大致结构,效果如下" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "In total 2 datasets:\n", + "\ttrain has 4 instances.\n", + "\ttest has 2 instances.\n", + "In total 2 vocabs:\n", + "\tlabel has 5 entries.\n", + "\ttext has 96 entries.\n", + "\n", + "['train', 'test']\n", + "['label', 'text']\n" + ] + } + ], + "source": [ + "data_bundle = DataBundle(datasets=datasets, vocabs=vocabs)\n", + "print(data_bundle)\n", + "print(data_bundle.get_dataset_names())\n", + "print(data_bundle.get_vocab_names())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "此外,也可以通过`data_bundle`的`num_dataset`和`num_vocab`返回数据表和词汇表个数\n", + "\n", + "  通过`data_bundle`的`iter_datasets`和`iter_vocabs`遍历数据表和词汇表" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "In total 2 datasets:\n", + "\ttrain has 4 instances.\n", + "\ttest has 2 instances.\n", + "In total 2 datasets:\n", + "\tlabel has 5 entries.\n", + "\ttext has 96 entries.\n" + ] + } + ], + "source": [ + "print(\"In total %d datasets:\" % data_bundle.num_dataset)\n", + "for name, dataset in data_bundle.iter_datasets():\n", + " print(\"\\t%s has %d instances.\" % (name, len(dataset)))\n", + "print(\"In total %d datasets:\" % data_bundle.num_dataset)\n", + "for name, vocab in data_bundle.iter_vocabs():\n", + " print(\"\\t%s has %d entries.\" % (name, len(vocab)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在数据包`databundle`中,也有和数据集`dataset`类似的四个`apply`函数,即\n", + "\n", + "  `apply`函数、`apply_field`函数、`apply_field_more`函数和`apply_more`函数\n", + "\n", + "  负责对数据集进行预处理,如下所示是`apply_more`函数的示例,其他函数类似\n", + "\n", + "此外,通过`get_dataset`函数,可以通过数据表名`name`称找到对应数据表\n", + "\n", + "  通过`get_vocab`函数,可以通过词汇表名`field_name`称找到对应词汇表" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/4 [00:00\n", + "在`fastNLP 1.0`中,**使用 PreTrainedTokenizer 模块来为数据集中的词语进行词向量的标注**\n", + "\n", + "  需要注意的是,`PreTrainedTokenizer`模块的下载和导入**需要确保环境安装了 transformers 模块**\n", + "\n", + "  这是因为 `fastNLP 1.0`中`PreTrainedTokenizer`模块的实现基于`Huggingface Transformers`库\n", + "\n", + "**Huggingface Transformers 是一个开源的**,**基于 transformer 模型结构提供的预训练语言库**\n", + "\n", + "  包含了多种经典的基于`transformer`的预训练模型,如`BERT`、`BART`、`RoBERTa`、`GPT2`、`CPT`\n", + "\n", + "  更多相关内容可以参考`Huggingface Transformers`的[相关论文](https://arxiv.org/pdf/1910.03771.pdf)、[官方文档](https://huggingface.co/transformers/)以及[的代码仓库](https://github.com/huggingface/transformers)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 BertTokenizer 的基本使用\n", + "\n", + "在`fastNLP 1.0`中,以`PreTrainedTokenizer`为基类,泛化出多个子类,实现基于`BERT`等模型的标注\n", + "\n", + "  本节以`BertTokenizer`模块为例,展示`PreTrainedTokenizer`模块的使用方法与应用实例\n", + "\n", + "**BertTokenizer 的初始化包括 导入模块和导入数据 两步**,先通过从`fastNLP.transformers.torch`中\n", + "\n", + "  导入`BertTokenizer`模块,再**通过 from_pretrained 方法指定 tokenizer 参数类型下载**\n", + "\n", + "  其中,**'bert-base-uncased' 指定 tokenizer 使用的预训练 BERT 类型**:单词不区分大小写\n", + "\n", + "    **模块层数 L=12**,**隐藏层维度 H=768**,**自注意力头数 A=12**,**总参数量 110M**\n", + "\n", + "  另外,模型参数自动下载至 home 目录下的`~\\.cache\\huggingface\\transformers`文件夹中" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "from fastNLP.transformers.torch import BertTokenizer\n", + "\n", + "tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过变量`vocab_size`和`vocab_files_names`可以查看`BertTokenizer`的词汇表的大小和对应文件\n", + "\n", + "  通过变量`vocab`可以访问`BertTokenizer`预训练的词汇表(由于内容过大就不演示了" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30522 {'vocab_file': 'vocab.txt'}\n" + ] + } + ], + "source": [ + "print(tokenizer.vocab_size, tokenizer.vocab_files_names)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过变量`all_special_tokens`或通过变量`special_tokens_map`可以**查看 BertTokenizer 内置的特殊词素**\n", + "\n", + "  包括**未知符 '[UNK]'**, **断句符 '[SEP]'**, **补零符 '[PAD]'**, **分类符 '[CLS]'**, **掩码 '[MASK]'**\n", + "\n", + "通过变量`all_special_ids`可以**查看 BertTokenizer 内置的特殊词素对应的词汇表编号**,相同功能\n", + "\n", + "  也可以直接通过查看`pad_token`,值为`'[UNK]'`,和`pad_token_id`,值为`0`,等变量来实现" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pad_token [PAD] 0\n", + "unk_token [UNK] 100\n", + "cls_token [CLS] 101\n", + "sep_token [SEP] 102\n", + "msk_token [MASK] 103\n", + "all_tokens ['[UNK]', '[SEP]', '[PAD]', '[CLS]', '[MASK]'] [100, 102, 0, 101, 103]\n", + "{'unk_token': '[UNK]', 'sep_token': '[SEP]', 'pad_token': '[PAD]', 'cls_token': '[CLS]', 'mask_token': '[MASK]'}\n" + ] + } + ], + "source": [ + "print('pad_token', tokenizer.pad_token, tokenizer.pad_token_id) \n", + "print('unk_token', tokenizer.unk_token, tokenizer.unk_token_id) \n", + "print('cls_token', tokenizer.cls_token, tokenizer.cls_token_id) \n", + "print('sep_token', tokenizer.sep_token, tokenizer.sep_token_id)\n", + "print('msk_token', tokenizer.mask_token, tokenizer.mask_token_id)\n", + "print('all_tokens', tokenizer.all_special_tokens, tokenizer.all_special_ids)\n", + "print(tokenizer.special_tokens_map)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "此外,还可以添加其他特殊字符,例如起始符`[BOS]`、终止符`[EOS]`,添加后词汇表编号也会相应改变\n", + "\n", + "  *但是如何添加这两个之外的字符,并且如何将这两个的编号设置为 [UNK] 之外的编号???*" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "bos_token [BOS] 100\n", + "eos_token [EOS] 100\n", + "all_tokens ['[BOS]', '[EOS]', '[UNK]', '[SEP]', '[PAD]', '[CLS]', '[MASK]'] [100, 100, 100, 102, 0, 101, 103]\n", + "{'bos_token': '[BOS]', 'eos_token': '[EOS]', 'unk_token': '[UNK]', 'sep_token': '[SEP]', 'pad_token': '[PAD]', 'cls_token': '[CLS]', 'mask_token': '[MASK]'}\n" + ] + } + ], + "source": [ + "tokenizer.bos_token = '[BOS]'\n", + "tokenizer.eos_token = '[EOS]'\n", + "# tokenizer.bos_token_id = 104\n", + "# tokenizer.eos_token_id = 105\n", + "print('bos_token', tokenizer.bos_token, tokenizer.bos_token_id)\n", + "print('eos_token', tokenizer.eos_token, tokenizer.eos_token_id)\n", + "print('all_tokens', tokenizer.all_special_tokens, tokenizer.all_special_ids)\n", + "print(tokenizer.special_tokens_map)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在`BertTokenizer`中,**使用 tokenize 函数和 convert_tokens_to_string 函数可以实现文本和词素列表的互转**\n", + "\n", + "  此外,**使用 convert_tokens_to_ids 函数和 convert_ids_to_tokens 函数则可以实现词素和词素编号的互转**\n", + "\n", + "  上述四个函数的使用效果如下所示,此处可以明显看出,`tokenizer`分词和传统分词的不同效果,例如`'##cap'`" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204, 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681, 2572, 25581, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997, 1037, 2466, 1012]\n", + "['a', 'series', 'of', 'es', '##cap', '##ades', 'demonstrating', 'the', 'ada', '##ge', 'that', 'what', 'is', 'good', 'for', 'the', 'goose', 'is', 'also', 'good', 'for', 'the', 'gan', '##der', ',', 'some', 'of', 'which', 'occasionally', 'am', '##uses', 'but', 'none', 'of', 'which', 'amounts', 'to', 'much', 'of', 'a', 'story', '.']\n", + "a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .\n" + ] + } + ], + "source": [ + "text = \"a series of escapades demonstrating the adage that what is \" \\\n", + " \"good for the goose is also good for the gander , some of which \" \\\n", + " \"occasionally amuses but none of which amounts to much of a story .\" \n", + "tks = ['a', 'series', 'of', 'es', '##cap', '##ades', 'demonstrating', 'the', \n", + " 'ada', '##ge', 'that', 'what', 'is', 'good', 'for', 'the', 'goose', \n", + " 'is', 'also', 'good', 'for', 'the', 'gan', '##der', ',', 'some', 'of', \n", + " 'which', 'occasionally', 'am', '##uses', 'but', 'none', 'of', 'which', \n", + " 'amounts', 'to', 'much', 'of', 'a', 'story', '.']\n", + "ids = [ 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, \n", + " 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204,\n", + " 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681, 2572,\n", + " 25581, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997, 1037,\n", + " 2466, 1012]\n", + "\n", + "tokens = tokenizer.tokenize(text)\n", + "print(tokenizer.convert_tokens_to_ids(tokens))\n", + "\n", + "ids = tokenizer.convert_tokens_to_ids(tokens)\n", + "print(tokenizer.convert_ids_to_tokens(ids))\n", + "\n", + "print(tokenizer.convert_tokens_to_string(tokens))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在`BertTokenizer`中,还有另外两个函数可以实现分词标注,分别是 **encode 和 decode 函数**,**可以直接实现**\n", + "\n", + "  **文本字符串和词素编号列表的互转**,但是编码过程中会按照`BERT`的规则,**在句子首末加入 [CLS] 和 [SEP]**" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204, 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681, 2572, 25581, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997, 1037, 2466, 1012, 102]\n", + "[CLS] a series of escapades demonstrating the adage that what is good for the goose is also good for the gander, some of which occasionally amuses but none of which amounts to much of a story. [SEP]\n" + ] + } + ], + "source": [ + "enc = tokenizer.encode(text)\n", + "print(tokenizer.encode(text))\n", + "dec = tokenizer.decode(enc)\n", + "print(tokenizer.decode(enc))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在`encode`函数之上,还有`encode_plus`函数,这也是在数据预处理中,`BertTokenizer`模块最常用到的函数\n", + "\n", + "  **encode 函数的参数**,**encode_plus 函数都有**;**encode 函数词素编号列表**,**encode_plus 函数返回字典**\n", + "\n", + "在`encode_plus`函数的返回值中,字段`input_ids`表示词素编号,其余两个字段后文有详细解释\n", + "\n", + "  **字段 token_type_ids 详见 text_pairs 的示例**,**字段 attention_mask 详见 batch_text 的示例**\n", + "\n", + "在`encode_plus`函数的参数中,参数`add_special_tokens`表示是否按照`BERT`的规则,加入相关特殊字符\n", + "\n", + "  参数`max_length`表示句子截取最大长度(算特殊字符),在参数`truncation=True`时会自动截取\n", + "\n", + "  参数`return_attention_mask`约定返回的字典中是否包括`attention_mask`字段,以上案例如下" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'input_ids': [101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204, 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681, 2572, 102], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}\n" + ] + } + ], + "source": [ + "text = \"a series of escapades demonstrating the adage that what is good for the goose is also good for \"\\\n", + " \"the gander , some of which occasionally amuses but none of which amounts to much of a story .\" \n", + "\n", + "encoded = tokenizer.encode_plus(text=text, add_special_tokens=True, max_length=32, \n", + " truncation=True, return_attention_mask=True)\n", + "print(encoded)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在`encode_plus`函数之上,还有`batch_encode_plus`函数(类似地,在`decode`之上,还有`batch_decode`\n", + "\n", + "  两者参数类似,**batch_encode_plus 函数针对批量文本 batch_text**,**或者批量句对 text_pairs**\n", + "\n", + "在针对批量文本`batch_text`的示例中,注意`batch_encode_plus`函数返回字典中的`attention_mask`字段\n", + "\n", + "  可以发现,**attention_mask 字段通过 01 标注出词素序列中该位置是否为补零**,可以用做自注意力的掩模" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'input_ids': [[101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, 2008, 102, 0, 0], [101, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204, 2005, 1996, 25957, 4063, 102], [101, 2070, 1997, 2029, 5681, 2572, 25581, 102, 0, 0, 0, 0, 0, 0, 0], [101, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997, 1037, 2466, 102, 0, 0, 0]], 'token_type_ids': [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 'attention_mask': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0]]}\n" + ] + } + ], + "source": [ + "batch_text = [\"a series of escapades demonstrating the adage that\",\n", + " \"what is good for the goose is also good for the gander\",\n", + " \"some of which occasionally amuses\",\n", + " \"but none of which amounts to much of a story\" ]\n", + "\n", + "encoded = tokenizer.batch_encode_plus(batch_text_or_text_pairs=batch_text, padding=True,\n", + " add_special_tokens=True, max_length=16, truncation=True, \n", + " return_attention_mask=True)\n", + "print(encoded)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "而在针对批量句对`text_pairs`的示例中,注意`batch_encode_plus`函数返回字典中的`attention_mask`字段\n", + "\n", + "  可以发现,**token_type_ids 字段通过 01 标注出词素序列中该位置为句对中的第几句**,句对用 [SEP] 分割" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'input_ids': [[101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262, 3351, 2008, 102, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036, 2204, 2005, 1996, 25957, 4063, 102], [101, 2070, 1997, 2029, 5681, 2572, 25581, 102, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997, 1037, 2466, 102, 0, 0, 0, 0, 0, 0, 0, 0]], 'token_type_ids': [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]], 'attention_mask': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]]}\n" + ] + } + ], + "source": [ + "text_pairs = [(\"a series of escapades demonstrating the adage that\",\n", + " \"what is good for the goose is also good for the gander\"),\n", + " (\"some of which occasionally amuses\",\n", + " \"but none of which amounts to much of a story\")]\n", + "\n", + "encoded = tokenizer.batch_encode_plus(batch_text_or_text_pairs=text_pairs, padding=True,\n", + " add_special_tokens=True, max_length=32, truncation=True, \n", + " return_attention_mask=True)\n", + "print(encoded)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "回到`encode_plus`上,在接下来的示例中,**使用内置的 functools.partial 模块构造 encode 函数**\n", + "\n", + "  接着**使用该函数对 databundle 进行数据预处理**,由于`tokenizer.encode_plus`返回的是一个字典\n", + "\n", + "  读入的是一个字段,所以此处使用`apply_field_more`方法,得到结果自动并入`databundle`中如下" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "functools.partial(, max_length=32, truncation=True, return_attention_mask=True)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/4 [00:00\n", + "\n", + "在接下来的`tutorial 3.`中,将会介绍`fastNLP v1.0`中的`dataloader`模块,会涉及本章中\n", + "\n", + "  提到的`collator`模块,`fastNLP`的多框架适应以及完整的数据加载过程,敬请期待" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.13" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/docs/source/tutorials/fastnlp_tutorial_3.ipynb b/docs/source/tutorials/fastnlp_tutorial_3.ipynb new file mode 100644 index 00000000..4100105a --- /dev/null +++ b/docs/source/tutorials/fastnlp_tutorial_3.ipynb @@ -0,0 +1,621 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "213d538c", + "metadata": {}, + "source": [ + "# T3. dataloader 的内部结构和基本使用\n", + "\n", + "  1   fastNLP 中的 dataloader\n", + " \n", + "    1.1   dataloader 的基本介绍\n", + "\n", + "    1.2   dataloader 的函数创建\n", + "\n", + "  2   fastNLP 中 dataloader 的延伸\n", + "\n", + "    2.1   collator 的概念与使用\n", + "\n", + "    2.2   结合 datasets 框架" + ] + }, + { + "cell_type": "markdown", + "id": "85857115", + "metadata": {}, + "source": [ + "## 1. fastNLP 中的 dataloader\n", + "\n", + "### 1.1 dataloader 的基本介绍\n", + "\n", + "在`fastNLP 1.0`的开发中,最关键的开发目标就是**实现 fastNLP 对当前主流机器学习框架**,例如\n", + "\n", + "  **当下流行的 pytorch**,以及**国产的 paddle 、jittor 和 oneflow 的兼容**,扩大受众的同时,也是助力国产\n", + "\n", + "本着分而治之的思想,我们可以将`fastNLP 1.0`对`pytorch`、`paddle`、`jittor`、`oneflow`框架的兼容,划分为\n", + "\n", + "    **对数据预处理**、**批量 batch 的划分与补齐**、**模型训练**、**模型评测**,**四个部分的兼容**\n", + "\n", + "  针对数据预处理,我们已经在`tutorial-1`中介绍了`dataset`和`vocabulary`的使用\n", + "\n", + "    而结合`tutorial-0`,我们可以发现**数据预处理环节本质上是框架无关的**\n", + "\n", + "    因为在不同框架下,读取的原始数据格式都差异不大,彼此也很容易转换\n", + "\n", + "只有涉及到张量、模型,不同框架才展现出其各自的特色:**pytorch 和 oneflow 中的 tensor 和 nn.Module**\n", + "\n", + "    **在 paddle 中称为 tensor 和 nn.Layer**,**在 jittor 中则称为 Var 和 Module**\n", + "\n", + "    因此,**模型训练、模型评测**,**是兼容的重难点**,我们将会在`tutorial-5`中详细介绍\n", + "\n", + "  针对批量`batch`的处理,作为`fastNLP 1.0`中框架无关部分想框架相关部分的过渡\n", + "\n", + "    就是`dataloader`模块的职责,这也是本篇教程`tutorial-3`讲解的重点\n", + "\n", + "**dataloader 模块的职责**,详细划分可以包含以下三部分,**采样划分、补零对齐、框架匹配**\n", + "\n", + "    第一,确定`batch`大小,确定采样方式,划分后通过迭代器即可得到`batch`序列\n", + "\n", + "    第二,对于序列处理,这也是`fastNLP`主要针对的,将同个`batch`内的数据对齐\n", + "\n", + "    第三,**batch 内数据格式要匹配框架**,**但 batch 结构需保持一致**,**参数匹配机制**\n", + "\n", + "  对此,`fastNLP 1.0`给出了 **TorchDataLoader 、 PaddleDataLoader 、 JittorDataLoader 和 OneflowDataLoader**\n", + "\n", + "    分别针对并匹配不同框架,但彼此之间参数名、属性、方法仍然类似,前两者大致如下表所示\n", + "\n", + "名称|参数|属性|功能|内容\n", + "----|----|----|----|----|\n", + " `dataset` | √ | √ | 指定`dataloader`的数据内容 | |\n", + " `batch_size` | √ | √ | 指定`dataloader`的`batch`大小 | 默认`16` |\n", + " `shuffle` | √ | √ | 指定`dataloader`的数据是否打乱 | 默认`False` |\n", + " `collate_fn` | √ | √ | 指定`dataloader`的`batch`打包方法 | 视框架而定 |\n", + " `sampler` | √ | √ | 指定`dataloader`的`__len__`和`__iter__`函数的实现 | 默认`None` |\n", + " `batch_sampler` | √ | √ | 指定`dataloader`的`__len__`和`__iter__`函数的实现 | 默认`None` |\n", + " `drop_last` | √ | √ | 指定`dataloader`划分`batch`时是否丢弃剩余的 | 默认`False` |\n", + " `cur_batch_indices` | | √ | 记录`dataloader`当前遍历批量序号 | |\n", + " `num_workers` | √ | √ | 指定`dataloader`开启子进程数量 | 默认`0` |\n", + " `worker_init_fn` | √ | √ | 指定`dataloader`子进程初始方法 | 默认`None` |\n", + " `generator` | √ | √ | 指定`dataloader`子进程随机种子 | 默认`None` |\n", + " `prefetch_factor` | | √ | 指定为每个`worker`装载的`sampler`数量 | 默认`2` |" + ] + }, + { + "cell_type": "markdown", + "id": "60a8a224", + "metadata": {}, + "source": [ + "  论及`dataloader`的函数,其中,`get_batch_indices`用来获取当前遍历到的`batch`序号,其他函数\n", + "\n", + "    包括`set_ignore`、`set_pad`和`databundle`类似,请参考`tutorial-2`,此处不做更多介绍\n", + "\n", + "    以下是`tutorial-2`中已经介绍过的数据预处理流程,接下来是对相关数据进行`dataloader`处理" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "aca72b49", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[38;5;2m[i 0604 15:44:29.773860 92 log.cc:351] Load log_sync: 1\u001b[m\n" + ] + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/4 [00:00\n", + " ['input_ids', 'token_type_ids', 'attention_mask', 'target']\n", + "{'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\n", + " [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]),\n", + " 'input_ids': tensor([[ 101, 1037, 4038, 1011, 3689, 1997, 3053, 8680, 19173, 15685,\n", + " 1999, 1037, 18006, 2836, 2011, 1996, 2516, 2839, 14996, 3054,\n", + " 15509, 5325, 1012, 102, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0],\n", + " [ 101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262,\n", + " 3351, 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036,\n", + " 2204, 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681,\n", + " 2572, 25581, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997,\n", + " 1037, 2466, 1012, 102],\n", + " [ 101, 2130, 4599, 1997, 19214, 6432, 1005, 1055, 2147, 1010,\n", + " 1045, 8343, 1010, 2052, 2031, 1037, 2524, 2051, 3564, 2083,\n", + " 2023, 2028, 1012, 102, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0],\n", + " [ 101, 1037, 13567, 26162, 5257, 1997, 3802, 7295, 9888, 1998,\n", + " 2035, 1996, 20014, 27611, 1010, 14583, 1010, 11703, 20175, 1998,\n", + " 4028, 1997, 1037, 8101, 2319, 10576, 2030, 1037, 28900, 7815,\n", + " 3850, 1012, 102, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0]]),\n", + " 'target': tensor([0, 1, 1, 2]),\n", + " 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])}\n" + ] + } + ], + "source": [ + "from fastNLP import prepare_torch_dataloader\n", + "\n", + "train_dataset = data_bundle.get_dataset('train')\n", + "evaluate_dataset = data_bundle.get_dataset('dev')\n", + "\n", + "train_dataloader = prepare_torch_dataloader(train_dataset, batch_size=16, shuffle=True)\n", + "evaluate_dataloader = prepare_torch_dataloader(evaluate_dataset, batch_size=16)\n", + "\n", + "print(type(train_dataloader))\n", + "\n", + "import pprint\n", + "\n", + "for batch in train_dataloader:\n", + " print(type(batch), type(batch['input_ids']), list(batch))\n", + " pprint.pprint(batch, width=1)" + ] + }, + { + "cell_type": "markdown", + "id": "9f457a6e", + "metadata": {}, + "source": [ + "之所以说`prepare_xx_dataloader`函数更方便,是因为其**导入对象不仅可也是 DataSet 类型**,**还可以**\n", + "\n", + "  **是 DataBundle 类型**,不过数据集名称需要是`'train'`、`'dev'`、`'test'`供`fastNLP`识别\n", + "\n", + "例如下方就是**直接通过 prepare_paddle_dataloader 函数生成基于 PaddleDataLoader 的字典**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7827557d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "from fastNLP import prepare_paddle_dataloader\n", + "\n", + "dl_bundle = prepare_paddle_dataloader(data_bundle, batch_size=16, shuffle=True)\n", + "\n", + "print(type(dl_bundle['train']))" + ] + }, + { + "cell_type": "markdown", + "id": "d898cf40", + "metadata": {}, + "source": [ + "  而在接下来`trainer`的初始化过程中,按如下方式使用即可,除了初始化时`driver='paddle'`外\n", + "\n", + "  这里也可以看出`trainer`模块中,**evaluate_dataloaders 的设计允许评测可以针对多个数据集**\n", + "\n", + "```python\n", + "trainer = Trainer(\n", + " model=model,\n", + " train_dataloader=dl_bundle['train'],\n", + " optimizers=optimizer,\n", + "\t...\n", + "\tdriver='paddle',\n", + "\tdevice='gpu',\n", + "\t...\n", + " evaluate_dataloaders={'dev': dl_bundle['dev'], 'test': dl_bundle['test']}, \n", + " metrics={'acc': Accuracy()},\n", + "\t...\n", + ")\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "d74d0523", + "metadata": {}, + "source": [ + "## 2. fastNLP 中 dataloader 的延伸\n", + "\n", + "### 2.1 collator 的概念与使用\n", + "\n", + "在`fastNLP 1.0`中,在数据加载模块`dataloader`内部,如之前表格所列举的,还存在其他的一些模块\n", + "\n", + "  例如,**实现序列的补零对齐的核对器 collator 模块**;注:`collate vt. 整理(文件或书等);核对,校勘`\n", + "\n", + "在`fastNLP 1.0`中,虽然`dataloader`随框架不同,但`collator`模块却是统一的,主要属性、方法如下表所示\n", + "\n", + "名称|属性|方法|功能|内容\n", + " ----|----|----|----|----|\n", + " `backend` | √ | | 记录`collator`对应框架 | 字符串型,如`'torch'` |\n", + " `padders` | √ | | 记录各字段对应的`padder`,每个负责具体补零对齐  | 字典类型 |\n", + " `ignore_fields` | √ | | 记录`dataloader`采样`batch`时不予考虑的字段 | 集合类型 |\n", + " `input_fields` | √ | | 记录`collator`每个字段的补零值、数据类型等 | 字典类型 |\n", + " `set_backend` | | √ | 设置`collator`对应框架 | 字符串型,如`'torch'` |\n", + " `set_ignore` | | √ | 设置`dataloader`采样`batch`时不予考虑的字段 | 字符串型,表示`field_name`  |\n", + " `set_pad` | | √ | 设置`collator`每个字段的补零值、数据类型等 | |" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "d0795b3e", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "train_dataloader.collate_fn\n", + "\n", + "print(type(train_dataloader.collate_fn))" + ] + }, + { + "cell_type": "markdown", + "id": "5f816ef5", + "metadata": {}, + "source": [ + "此外,还可以 **手动定义 dataloader 中的 collate_fn**,而不是使用`fastNLP 1.0`中自带的`collator`模块\n", + "\n", + "  该函数的定义可以大致如下,需要注意的是,**定义 collate_fn 之前需要了解 batch 作为字典的格式**\n", + "\n", + "  该函数通过`collate_fn`参数传入`dataloader`,**在 batch 分发**(**而不是 batch 划分**)**时调用**" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ff8e405e", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "\n", + "def collate_fn(batch):\n", + " input_ids, atten_mask, labels = [], [], []\n", + " max_length = [0] * 3\n", + " for each_item in batch:\n", + " input_ids.append(each_item['input_ids'])\n", + " max_length[0] = max(len(each_item['input_ids']), max_length[0])\n", + " atten_mask.append(each_item['token_type_ids'])\n", + " max_length[1] = max(len(each_item['token_type_ids']), max_length[1])\n", + " labels.append(each_item['attention_mask'])\n", + " max_length[2] = max(len(each_item['attention_mask']), max_length[2])\n", + "\n", + " for i in range(3):\n", + " each = (input_ids, atten_mask, labels)[i]\n", + " for item in each:\n", + " item.extend([0] * (max_length[i] - len(item)))\n", + " return {'input_ids': torch.cat([torch.tensor([item]) for item in input_ids], dim=0),\n", + " 'token_type_ids': torch.cat([torch.tensor([item]) for item in atten_mask], dim=0),\n", + " 'attention_mask': torch.cat([torch.tensor(item) for item in labels], dim=0)}" + ] + }, + { + "cell_type": "markdown", + "id": "487b75fb", + "metadata": {}, + "source": [ + "注意:使用自定义的`collate_fn`函数,`trainer`的`collate_fn`变量也会自动调整为`function`类型" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e916d1ac", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0]),\n", + " 'input_ids': tensor([[ 101, 1037, 4038, 1011, 3689, 1997, 3053, 8680, 19173, 15685,\n", + " 1999, 1037, 18006, 2836, 2011, 1996, 2516, 2839, 14996, 3054,\n", + " 15509, 5325, 1012, 102, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0],\n", + " [ 101, 1037, 2186, 1997, 9686, 17695, 18673, 14313, 1996, 15262,\n", + " 3351, 2008, 2054, 2003, 2204, 2005, 1996, 13020, 2003, 2036,\n", + " 2204, 2005, 1996, 25957, 4063, 1010, 2070, 1997, 2029, 5681,\n", + " 2572, 25581, 2021, 3904, 1997, 2029, 8310, 2000, 2172, 1997,\n", + " 1037, 2466, 1012, 102],\n", + " [ 101, 2130, 4599, 1997, 19214, 6432, 1005, 1055, 2147, 1010,\n", + " 1045, 8343, 1010, 2052, 2031, 1037, 2524, 2051, 3564, 2083,\n", + " 2023, 2028, 1012, 102, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0],\n", + " [ 101, 1037, 13567, 26162, 5257, 1997, 3802, 7295, 9888, 1998,\n", + " 2035, 1996, 20014, 27611, 1010, 14583, 1010, 11703, 20175, 1998,\n", + " 4028, 1997, 1037, 8101, 2319, 10576, 2030, 1037, 28900, 7815,\n", + " 3850, 1012, 102, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0]]),\n", + " 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])}\n" + ] + } + ], + "source": [ + "train_dataloader = prepare_torch_dataloader(train_dataset, collate_fn=collate_fn, shuffle=True)\n", + "evaluate_dataloader = prepare_torch_dataloader(evaluate_dataset, collate_fn=collate_fn, shuffle=True)\n", + "\n", + "print(type(train_dataloader))\n", + "print(type(train_dataloader.collate_fn))\n", + "\n", + "for batch in train_dataloader:\n", + " pprint.pprint(batch, width=1)" + ] + }, + { + "cell_type": "markdown", + "id": "0bd98365", + "metadata": {}, + "source": [ + "### 2.2 fastNLP 与 datasets 的结合\n", + "\n", + "从`tutorial-1`至`tutorial-3`,我们已经完成了对`fastNLP v1.0`数据读取、预处理、加载,整个流程的介绍\n", + "\n", + "  不过在实际使用中,我们往往也会采取更为简便的方法读取数据,例如使用`huggingface`的`datasets`模块\n", + "\n", + "**使用 datasets 模块中的 load_dataset 函数**,通过指定数据集两级的名称,示例中即是**GLUE 标准中的 SST-2 数据集**\n", + "\n", + "  即可以快速从网上下载好`SST-2`数据集读入,之后以`pandas.DataFrame`作为中介,再转化成`fastNLP.DataSet`\n", + "\n", + "  之后的步骤就和其他关于`dataset`、`databundle`、`vocabulary`、`dataloader`中介绍的相关使用相同了" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "91879c30", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Reusing dataset glue (/remote-home/xrliu/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "639a0ad3c63944c6abef4e8ee1f7bf7c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00\n", + "\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/6000 [00:00[16:20:10] INFO Running evaluator sanity check for 2 batches. trainer.py:596\n", + "\n" + ], + "text/plain": [ + "\u001b[2;36m[16:20:10]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=908530;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=864197;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  self.msg_id = ip.kernel._parent_header['header']['msg_id']\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " self.msg_id = ip.kernel._parent_header['header']['msg_id']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.525,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 84.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.525\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m84.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.54375,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 87.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.54375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m87.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.55,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 88.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.55\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m88.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.625,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 100.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m100.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.65,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 104.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.65\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m104.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.69375,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 111.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.69375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m111.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.675,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 108.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.675\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m108.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.66875,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 107.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.66875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m107.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.675,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 108.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.675\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m108.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.68125,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 109.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.68125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m109.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8bc4bfb2", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'acc#acc': 0.712222, 'total#acc': 900.0, 'correct#acc': 641.0}"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "07538876",
+   "metadata": {},
+   "source": [
+    "  注:此处使用`gc`模块删除相关变量,释放内存,为接下来新的模型训练预留存储空间,下同"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "1b52eafd",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "383"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import gc\n",
+    "\n",
+    "del model\n",
+    "del trainer\n",
+    "del dataset\n",
+    "del sst2data\n",
+    "\n",
+    "gc.collect()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d9443213",
+   "metadata": {},
+   "source": [
+    "## 2. fastNLP 中 models 模块的介绍\n",
+    "\n",
+    "### 2.1  示例一:models 实现 CNN 分类\n",
+    "\n",
+    "  本示例使用`fastNLP 1.0`中预定义模型`models`中的`CNNText`模型,实现`SST-2`文本二分类任务\n",
+    "\n",
+    "数据使用方面,此处沿用在上个示例中展示的`SST-2`数据集,数据加载过程相同且已经执行过了,因此简略\n",
+    "\n",
+    "模型使用方面,如上所述,这里使用**基于卷积神经网络 CNN 的预定义文本分类模型 CNNText**,结构如下所示\n",
+    "\n",
+    "  首先是内置的`100`维嵌入层、`dropout`层、紧接着是三个一维卷积,将`100`维嵌入特征,分别通过\n",
+    "\n",
+    "    **感受野为 1 、 3 、 5 的卷积算子变换至 30 维、 40 维、 50 维的卷积特征**,再将三者拼接\n",
+    "\n",
+    "  最终再次通过`dropout`层、线性变换层,映射至二元的输出值,对应两个分类结果上的几率`logits`\n",
+    "\n",
+    "```\n",
+    "CNNText(\n",
+    "  (embed): Embedding(\n",
+    "    (embed): Embedding(5194, 100)\n",
+    "    (dropout): Dropout(p=0.0, inplace=False)\n",
+    "  )\n",
+    "  (conv_pool): ConvMaxpool(\n",
+    "    (convs): ModuleList(\n",
+    "      (0): Conv1d(100, 30, kernel_size=(1,), stride=(1,), bias=False)\n",
+    "      (1): Conv1d(100, 40, kernel_size=(3,), stride=(1,), padding=(1,), bias=False)\n",
+    "      (2): Conv1d(100, 50, kernel_size=(5,), stride=(1,), padding=(2,), bias=False)\n",
+    "    )\n",
+    "  )\n",
+    "  (dropout): Dropout(p=0.1, inplace=False)\n",
+    "  (fc): Linear(in_features=120, out_features=2, bias=True)\n",
+    ")\n",
+    "```\n",
+    "\n",
+    "对应到代码上,**从 fastNLP.models.torch 路径下导入 CNNText**,初始化`CNNText`和`optimizer`实例\n",
+    "\n",
+    "  注意:初始化`CNNText`时,**二元组参数 embed 、分类数量 num_classes 是必须传入的**,其中\n",
+    "\n",
+    "    **embed 表示嵌入层的嵌入抽取矩阵大小**,因此第二个元素对应的是默认隐藏层维度 `100` 维"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "f6e76e2e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from fastNLP.models.torch import CNNText\n",
+    "\n",
+    "model = CNNText(embed=(len(vocab), 100), num_classes=2, dropout=0.1)\n",
+    "\n",
+    "from torch.optim import AdamW\n",
+    "\n",
+    "optimizers = AdamW(params=model.parameters(), lr=5e-4)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0cc5ca10",
+   "metadata": {},
+   "source": [
+    "  最后,使用`trainer`模块,集成`model`、`optimizer`、`dataloader`、`metric`训练"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "50a13ee5",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from fastNLP import Trainer, Accuracy\n",
+    "\n",
+    "trainer = Trainer(\n",
+    "    model=model,\n",
+    "    driver='torch',\n",
+    "    device=0,  # 'cuda'\n",
+    "    n_epochs=10,\n",
+    "    optimizers=optimizers,\n",
+    "    train_dataloader=train_dataloader,\n",
+    "    evaluate_dataloaders=evaluate_dataloader,\n",
+    "    metrics={'acc': Accuracy()}\n",
+    ")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "28903a7d",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
[16:21:57] INFO     Running evaluator sanity check for 2 batches.              trainer.py:596\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[16:21:57]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=813103;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=271516;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.654444,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 589.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.654444\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m589.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.767778,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 691.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.767778\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m691.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.797778,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 718.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.797778\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m718.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.803333,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 723.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.803333\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m723.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.807778,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 727.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.807778\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m727.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.812222,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 731.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.812222\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m731.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.804444,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 724.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.804444\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m724.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.811111,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 730.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.811111\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m730.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.811111,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 730.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.811111\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m730.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.806667,\n",
+       "  \"total#acc\": 900.0,\n",
+       "  \"correct#acc\": 726.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.806667\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m900.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m726.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "f47a6a35", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'acc#acc': 0.806667, 'total#acc': 900.0, 'correct#acc': 726.0}"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5b5c0446",
+   "metadata": {},
+   "source": [
+    "  注:此处使用`gc`模块删除相关变量,释放内存,为接下来新的模型训练预留存储空间,下同"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "e9e70f88",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "344"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import gc\n",
+    "\n",
+    "del model\n",
+    "del trainer\n",
+    "\n",
+    "gc.collect()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6aec2a19",
+   "metadata": {},
+   "source": [
+    "### 2.2  示例二:models 实现 BiLSTM 标注\n",
+    "\n",
+    "  通过两个示例一的对比可以发现,得益于`models`对模型结构的封装,使用`models`明显更加便捷\n",
+    "\n",
+    "    针对更加复杂的模型时,编码更加轻松;本示例将使用`models`中的`BiLSTMCRF`模型\n",
+    "\n",
+    "  避免`CRF`和`Viterbi`算法代码书写的困难,轻松实现`CoNLL-2003`中的命名实体识别`NER`任务\n",
+    "\n",
+    "模型使用方面,如上所述,这里使用**基于双向 LSTM +条件随机场 CRF 的标注模型 BiLSTMCRF**,结构如下所示\n",
+    "\n",
+    "  其中,隐藏层维度默认`100`维,因此对应双向`LSTM`输出`200`维,`dropout`层退学概率、`LSTM`层数可调\n",
+    "\n",
+    "```\n",
+    "BiLSTMCRF(\n",
+    "  (embed): Embedding(7590, 100)\n",
+    "  (lstm): LSTM(\n",
+    "    (lstm): LSTM(100, 100, batch_first=True, bidirectional=True)\n",
+    "  )\n",
+    "  (dropout): Dropout(p=0.1, inplace=False)\n",
+    "  (fc): Linear(in_features=200, out_features=9, bias=True)\n",
+    "  (crf): ConditionalRandomField()\n",
+    ")\n",
+    "```\n",
+    "\n",
+    "数据使用方面,此处仍然**使用 datasets 模块中的 load_dataset 函数**,以如下形式,加载`CoNLL-2003`数据集\n",
+    "\n",
+    "  首次下载后会保存至`~.cache/huggingface/datasets/conll2003/conll2003/1.0.0/`目录下"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "03e66686",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Reusing dataset conll2003 (/remote-home/xrliu/.cache/huggingface/datasets/conll2003/conll2003/1.0.0/63f4ebd1bcb7148b1644497336fd74643d4ce70123334431a3c053b7ee4e96ee)\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "593bc03ed5914953ab94268ff2f01710",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "  0%|          | 0/3 [00:00[16:23:41] INFO     Running evaluator sanity check for 2 batches.              trainer.py:596\n",
+       "\n"
+      ],
+      "text/plain": [
+       "\u001b[2;36m[16:23:41]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO    \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches.              \u001b]8;id=565652;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=224849;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.169014,\n",
+       "  \"pre#F1\": 0.170732,\n",
+       "  \"rec#F1\": 0.167331\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.169014\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.170732\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.167331\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.361809,\n",
+       "  \"pre#F1\": 0.312139,\n",
+       "  \"rec#F1\": 0.430279\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.361809\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.312139\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.430279\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.525,\n",
+       "  \"pre#F1\": 0.475728,\n",
+       "  \"rec#F1\": 0.585657\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.525\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.475728\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.585657\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.627306,\n",
+       "  \"pre#F1\": 0.584192,\n",
+       "  \"rec#F1\": 0.677291\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.627306\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.584192\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.677291\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.710937,\n",
+       "  \"pre#F1\": 0.697318,\n",
+       "  \"rec#F1\": 0.7251\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.710937\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.697318\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.7251\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.739563,\n",
+       "  \"pre#F1\": 0.738095,\n",
+       "  \"rec#F1\": 0.741036\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.739563\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.738095\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.741036\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.748491,\n",
+       "  \"pre#F1\": 0.756098,\n",
+       "  \"rec#F1\": 0.741036\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.748491\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.756098\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.741036\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.716763,\n",
+       "  \"pre#F1\": 0.69403,\n",
+       "  \"rec#F1\": 0.741036\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.716763\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.69403\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.741036\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.768293,\n",
+       "  \"pre#F1\": 0.784232,\n",
+       "  \"rec#F1\": 0.752988\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.768293\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.784232\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.752988\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"f#F1\": 0.757692,\n",
+       "  \"pre#F1\": 0.732342,\n",
+       "  \"rec#F1\": 0.784861\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"f#F1\"\u001b[0m: \u001b[1;36m0.757692\u001b[0m,\n", + " \u001b[1;34m\"pre#F1\"\u001b[0m: \u001b[1;36m0.732342\u001b[0m,\n", + " \u001b[1;34m\"rec#F1\"\u001b[0m: \u001b[1;36m0.784861\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "37871d6b", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'f#F1': 0.766798, 'pre#F1': 0.741874, 'rec#F1': 0.793456}"
+      ]
+     },
+     "execution_count": 21,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "96bae094",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.13"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/docs/source/tutorials/fastnlp_tutorial_5.ipynb b/docs/source/tutorials/fastnlp_tutorial_5.ipynb
new file mode 100644
index 00000000..ab759feb
--- /dev/null
+++ b/docs/source/tutorials/fastnlp_tutorial_5.ipynb
@@ -0,0 +1,1242 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "fdd7ff16",
+   "metadata": {},
+   "source": [
+    "# T5. trainer 和 evaluator 的深入介绍\n",
+    "\n",
+    "  1   fastNLP 中 driver 的补充介绍\n",
+    " \n",
+    "    1.1   trainer 和 driver 的构想 \n",
+    "\n",
+    "    1.2   device 与 多卡训练\n",
+    "\n",
+    "  2   fastNLP 中的更多 metric 类型\n",
+    "\n",
+    "    2.1   预定义的 metric 类型\n",
+    "\n",
+    "    2.2   自定义的 metric 类型\n",
+    "\n",
+    "  3   fastNLP 中 trainer 的补充介绍\n",
+    "\n",
+    "    3.1   trainer 的内部结构"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "08752c5a",
+   "metadata": {
+    "pycharm": {
+     "name": "#%% md\n"
+    }
+   },
+   "source": [
+    "## 1. fastNLP 中 driver 的补充介绍\n",
+    "\n",
+    "### 1.1  trainer 和 driver 的构想\n",
+    "\n",
+    "在`fastNLP 1.0`中,模型训练最关键的模块便是**训练模块 trainer 、评测模块 evaluator 、驱动模块 driver**,\n",
+    "\n",
+    "  在`tutorial 0`中,已经简单介绍过上述三个模块:**driver 用来控制训练评测中的 model 的最终运行**\n",
+    "\n",
+    "    **evaluator 封装评测的 metric**,**trainer 封装训练的 optimizer**,**也可以包括 evaluator**\n",
+    "\n",
+    "之所以做出上述的划分,其根本目的在于要**达成对于多个 python 学习框架**,**例如 pytorch 、 paddle 、 jittor 的兼容**\n",
+    "\n",
+    "  对于训练环节,其伪代码如下方左边紫色一栏所示,由于**不同框架对模型、损失、张量的定义各有不同**,所以将训练环节\n",
+    "\n",
+    "    划分为**框架无关的循环控制、批量分发部分**,**由 trainer 模块负责**实现,对应的伪代码如下方中间一栏所示\n",
+    "\n",
+    "    以及**随框架不同的模型调用、数值优化部分**,**由 driver 模块负责**实现,对应的伪代码如下方右边一栏所示\n",
+    "\n",
+    "|训练过程|框架无关 对应`Trainer`|框架相关 对应`Driver`\n",
+    "|----|----|----|\n",
+    "| try: | try: |  |\n",
+    "| for epoch in 1:n_eoochs: | for epoch in 1:n_eoochs: |  |\n",
+    "| for step in 1:total_steps: | for step in 1:total_steps: |  |\n",
+    "| batch = fetch_batch() | batch = fetch_batch() |  |\n",
+    "| loss = model.forward(batch)  |  | loss = model.forward(batch)  |\n",
+    "| loss.backward() |  | loss.backward() |\n",
+    "| model.clear_grad() |  | model.clear_grad() |\n",
+    "| model.update() |  | model.update() |\n",
+    "| if need_save: | if need_save: |  |\n",
+    "| model.save() |  | model.save() |\n",
+    "| except: | except: |  |\n",
+    "| process_exception() | process_exception() |  |"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3e55f07b",
+   "metadata": {},
+   "source": [
+    "  对于评测环节,其伪代码如下方左边紫色一栏所示,同样由于不同框架对模型、损失、张量的定义各有不同,所以将评测环节\n",
+    "\n",
+    "    划分为**框架无关的循环控制、分发汇总部分**,**由 evaluator 模块负责**实现,对应的伪代码如下方中间一栏所示\n",
+    "\n",
+    "    以及**随框架不同的模型调用、评测计算部分**,同样**由 driver 模块负责**实现,对应的伪代码如下方右边一栏所示\n",
+    "\n",
+    "|评测过程|框架无关 对应`Evaluator`|框架相关 对应`Driver`\n",
+    "|----|----|----|\n",
+    "| try: | try: |  |\n",
+    "| model.set_eval() | model.set_eval() |  |\n",
+    "| for step in 1:total_steps: | for step in 1:total_steps: |  |\n",
+    "| batch = fetch_batch() | batch = fetch_batch() |  |\n",
+    "| outputs = model.evaluate(batch)  |  | outputs = model.evaluate(batch)  |\n",
+    "| metric.compute(batch, outputs) |  | metric.compute(batch, outputs) |\n",
+    "| results = metric.get_metric() | results = metric.get_metric() |  |\n",
+    "| except: | except: |  |\n",
+    "| process_exception() | process_exception() |  |"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "94ba11c6",
+   "metadata": {
+    "pycharm": {
+     "name": "#%%\n"
+    }
+   },
+   "source": [
+    "由此,从程序员的角度,`fastNLP v1.0` **通过一个 driver 让基于 pytorch 、 paddle 、 jittor 、 oneflow 框架的模型**\n",
+    "\n",
+    "    **都能在相同的 trainer 和 evaluator 上运行**,这也**是 fastNLP v1.0 相比于之前版本的一大亮点**\n",
+    "\n",
+    "  而从`driver`的角度,`fastNLP v1.0`通过定义一个`driver`基类,**将所有张量转化为 numpy.tensor**\n",
+    "\n",
+    "    并由此泛化出`torch_driver`、`paddle_driver`、`jittor_driver`三个子类,从而实现了\n",
+    "\n",
+    "    对`pytorch`、`paddle`、`jittor`的兼容,有关后两者的实践请参考接下来的`tutorial-6`"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ab1cea7d",
+   "metadata": {},
+   "source": [
+    "### 1.2  device 与 多卡训练\n",
+    "\n",
+    "**fastNLP v1.0 支持多卡训练**,实现方法则是**通过将 trainer 中的 device 设置为对应显卡的序号列表**\n",
+    "\n",
+    "  由单卡切换成多卡,无论是数据、模型还是评测都会面临一定的调整,`fastNLP v1.0`保证:\n",
+    "\n",
+    "    数据拆分时,不同卡之间相互协调,所有数据都可以被训练,且不会使用到相同的数据\n",
+    "\n",
+    "    模型训练时,模型之间需要交换梯度;评测计算时,每张卡先各自计算,再汇总结果\n",
+    "\n",
+    "  例如,在评测计算运行`get_metric`函数时,`fastNLP v1.0`将自动按照`self.right`和`self.total`\n",
+    "\n",
+    "    指定的 **aggregate_method 方法**,默认为`sum`,将每张卡上结果汇总起来,因此最终\n",
+    "\n",
+    "    在调用`get_metric`方法时,`Accuracy`类能够返回全部的统计结果,代码如下\n",
+    "    \n",
+    "```python\n",
+    "trainer = Trainer(\n",
+    "        model=model,                                # model 基于 pytorch 实现 \n",
+    "        train_dataloader=train_dataloader,\n",
+    "        optimizers=optimizer,\n",
+    "        ...\n",
+    "        driver='torch',                             # driver 使用 torch_driver \n",
+    "        device=[0, 1],                              # gpu 选择 cuda:0 + cuda:1\n",
+    "        ...\n",
+    "        evaluate_dataloaders=evaluate_dataloader,\n",
+    "        metrics={'acc': Accuracy()},\n",
+    "        ...\n",
+    "    )\n",
+    "\n",
+    "class Accuracy(Metric):\n",
+    "    def __init__(self):\n",
+    "        super().__init__()\n",
+    "        self.register_element(name='total', value=0, aggregate_method='sum')\n",
+    "        self.register_element(name='right', value=0, aggregate_method='sum')\n",
+    "```\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e2e0a210",
+   "metadata": {
+    "pycharm": {
+     "name": "#%%\n"
+    }
+   },
+   "source": [
+    "注:`fastNLP v1.0`中要求`jupyter`不能多卡,仅能单卡,故在所有`tutorial`中均不作相关演示"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8d19220c",
+   "metadata": {},
+   "source": [
+    "## 2. fastNLP 中的更多 metric 类型\n",
+    "\n",
+    "### 2.1  预定义的 metric 类型\n",
+    "\n",
+    "在`fastNLP 1.0`中,除了前几篇`tutorial`中经常见到的**正确率 Accuracy**,还有其他**预定义的评测标准 metric**\n",
+    "\n",
+    "  包括**所有 metric 的基类 Metric**、适配`Transformers`中相关模型的正确率`TransformersAccuracy`\n",
+    "\n",
+    "    **适用于分类语境下的 F1 值 ClassifyFPreRecMetric**(其中也包括召回率`Pre`、精确率`Rec`\n",
+    "\n",
+    "    **适用于抽取语境下的 F1 值 SpanFPreRecMetric**;相关基本信息内容见下表,之后是详细分析\n",
+    "\n",
+    "代码名称|简要介绍|代码路径\n",
+    "----|----|----|\n",
+    " `Metric` | 定义`metrics`时继承的基类 | `/core/metrics/metric.py` |\n",
+    " `Accuracy` | 正确率,最为常用 | `/core/metrics/accuracy.py` |\n",
+    " `TransformersAccuracy` | 正确率,为了兼容`Transformers`中相关模型 | `/core/metrics/accuracy.py` |\n",
+    " `ClassifyFPreRecMetric` | 召回率、精确率、F1值,适用于**分类问题** | `/core/metrics/classify_f1_pre_rec_metric.py` |\n",
+    " `SpanFPreRecMetric` | 召回率、精确率、F1值,适用于**抽取问题** | `/core/metrics/span_f1_pre_rec_metric.py` |"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fdc083a3",
+   "metadata": {
+    "pycharm": {
+     "name": "#%%\n"
+    }
+   },
+   "source": [
+    "  如`tutorial-0`中所述,所有的`metric`都包含`get_metric`和`update`函数,其中\n",
+    "\n",
+    "    **update 函数更新单个 batch 的统计量**,**get_metric 函数返回最终结果**,并打印显示\n",
+    "\n",
+    "\n",
+    "### 2.1.1  Accuracy 与 TransformersAccuracy\n",
+    "\n",
+    "`Accuracy`,正确率,预测正确的数据`right_num`在总数据`total_num`,中的占比(公式就不用列了\n",
+    "\n",
+    "  `get_metric`函数打印格式为 **{\"acc#xx\": float, 'total#xx': float, 'correct#xx': float}**\n",
+    "\n",
+    "  一般在初始化时不需要传参,`fastNLP`会根据`update`函数的传入参数确定对应后台框架`backend`\n",
+    "\n",
+    "  **update 函数的参数包括 pred 、 target 、 seq_len**,**后者用来标记批次中每笔数据的长度**\n",
+    "\n",
+    "`TransformersAccuracy`,继承自`Accuracy`,只是为了兼容`Transformers`框架中相关模型\n",
+    "\n",
+    "  在`update`函数中,将`Transformers`框架输出的`attention_mask`参数转化为`seq_len`参数\n",
+    "\n",
+    "\n",
+    "### 2.1.2  ClassifyFPreRecMetric 与 SpanFPreRecMetric\n",
+    "\n",
+    "`ClassifyFPreRecMetric`,分类评价,`SpanFPreRecMetric`,抽取评价,后者在`tutorial-4`中已出现\n",
+    "\n",
+    "  两者的相同之处在于:**第一**,**都包括召回率/查全率 ec**、**精确率/查准率 Pre**、**F1 值**这三个指标\n",
+    "\n",
+    "    `get_metric`函数打印格式为 **{\"f#xx\": float, 'pre#xx': float, 'rec#xx': float}**\n",
+    "\n",
+    "    三者的计算公式如下,其中`beta`默认为`1`,即`F1`值是召回率`Rec`和精确率`Pre`的调和平均数\n",
+    "\n",
+    "$$\\text{召回率}\\ Rec=\\dfrac{\\text{正确预测为正例的数量}}{\\text{所有本来是正例的数量}}\\qquad \\text{精确率}\\ Pre=\\dfrac{\\text{正确预测为正例的数量}}{\\text{所有预测为正例的数量}}$$\n",
+    "\n",
+    "$$F_{beta} = \\frac{(1 + {beta}^{2})*(Pre*Rec)}{({beta}^{2}*Pre + Rec)}$$\n",
+    "\n",
+    "  **第二**,可以通过参数`only_gross`为`False`,要求返回所有类别的`Rec-Pre-F1`,同时`F1`值又根据参数`f_type`又分为\n",
+    "\n",
+    "    **micro F1**(**直接统计所有类别的 Rec-Pre-F1**)、**macro F1**(**统计各类别的 Rec-Pre-F1 再算术平均**)\n",
+    "\n",
+    "  **第三**,两者在初始化时还可以**传入基于 fastNLP.Vocabulary 的 tag_vocab 参数记录数据集中的标签序号**\n",
+    "\n",
+    "    **与标签名称之间的映射**,通过字符串列表`ignore_labels`参数,指定若干标签不用于`Rec-Pre-F1`的计算\n",
+    "\n",
+    "两者的不同之处在于:`ClassifyFPreRecMetric`针对简单的分类问题,每个分类标签之间彼此独立,不构成标签对\n",
+    "\n",
+    "    **SpanFPreRecMetric 针对更复杂的抽取问题**,**规定标签 B-xx 和 I-xx 或 B-xx 和 E-xx 构成标签对**\n",
+    "\n",
+    "  在计算`Rec-Pre-F1`时,`ClassifyFPreRecMetric`只需要考虑标签本身是否正确这就足够了,但是\n",
+    "\n",
+    "    对于`SpanFPreRecMetric`,需要保证**标签符合规则且覆盖的区间与正确结果重合才算正确**\n",
+    "\n",
+    "    因此回到`tutorial-4`中`CoNLL-2003`的`NER`任务,如果评测方法选择`ClassifyFPreRecMetric`\n",
+    "\n",
+    "      或者`Accuracy`,会发现虽然评测结果显示很高,这是因为选择的评测方法要求太低\n",
+    "\n",
+    "    最后通过`CoNLL-2003`的词性标注`POS`任务简单演示下`ClassifyFPreRecMetric`相关的使用\n",
+    "\n",
+    "```python\n",
+    "from fastNLP import Vocabulary\n",
+    "from fastNLP import ClassifyFPreRecMetric\n",
+    "\n",
+    "tag_vocab = Vocabulary(padding=None, unknown=None)            # 记录序号与标签之间的映射\n",
+    "tag_vocab.add_word_lst(['\"', \"''\", '#', '$', '(', ')', ',', '.', ':', '``', \n",
+    "                        'CC', 'CD', 'DT', 'EX', 'FW', 'IN', 'JJ', 'JJR', 'JJS', 'LS', \n",
+    "                        'MD', 'NN', 'NNP', 'NNPS', 'NNS', 'NN|SYM', 'PDT', 'POS', 'PRP', 'PRP$', \n",
+    "                        'RB', 'RBR', 'RBS', 'RP', 'SYM', 'TO', 'UH', 'VB', 'VBD', 'VBG', \n",
+    "                        'VBN', 'VBP', 'VBZ', 'WDT', 'WP', 'WP+', 'WRB', ])  # CoNLL-2003 中的 pos_tags\n",
+    "ignore_labels = ['\"', \"''\", '#', '$', '(', ')', ',', '.', ':', '``', ]\n",
+    "\n",
+    "FPreRec = ClassifyFPreRecMetric(tag_vocab=tag_vocab,          \n",
+    "                                ignore_labels=ignore_labels,  # 表示评测/优化中不考虑上述标签的正误/损失\n",
+    "                                only_gross=True,              # 默认为 True 表示输出所有类别的综合统计结果\n",
+    "                                f_type='micro')               # 默认为 'micro' 表示统计所有类别的 Rec-Pre-F1\n",
+    "metrics = {'F1': FPreRec}\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8a22f522",
+   "metadata": {},
+   "source": [
+    "### 2.2  自定义的 metric 类型\n",
+    "\n",
+    "如上文所述,`Metric`作为所有`metric`的基类,`Accuracy`等都是其子类,同样地,对于**自定义的 metric 类型**\n",
+    "\n",
+    "    也**需要继承自 Metric 类**,同时**内部自定义好 __init__ 、 update 和 get_metric 函数**\n",
+    "\n",
+    "  在`__init__`函数中,根据需求定义评测时需要用到的变量,此处沿用`Accuracy`中的`total_num`和`right_num`\n",
+    "\n",
+    "  在`update`函数中,根据需求定义评测变量的更新方式,需要注意的是如`tutorial-0`中所述,**update`的参数名**\n",
+    "\n",
+    "    **需要待评估模型在 evaluate_step 中的输出名称一致**,由此**和数据集中对应字段名称一致**,即**参数匹配**\n",
+    "\n",
+    "    在`fastNLP v1.0`中,`update`函数的默认输入参数:`pred`,对应预测值;`target`,对应真实值\n",
+    "\n",
+    "    此处仍然沿用,因为接下来会需要使用`fastNLP`函数的与定义模型,其输入参数格式即使如此\n",
+    "\n",
+    "  在`get_metric`函数中,根据需求定义评测指标最终的计算,此处直接计算准确率,该函数必须返回一个字典\n",
+    "\n",
+    "    其中,字串`'prefix'`表示该`metric`的名称,会对应显示到`trainer`的`progress bar`中\n",
+    "\n",
+    "根据上述要求,这里简单定义了一个名为`MyMetric`的评测模块,用于分类问题的评测,以此展开一个实例展示"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "08a872e9",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "from fastNLP import Metric\n", + "\n", + "class MyMetric(Metric):\n", + "\n", + " def __init__(self):\n", + " Metric.__init__(self)\n", + " self.total_num = 0\n", + " self.right_num = 0\n", + "\n", + " def update(self, pred, target):\n", + " self.total_num += target.size(0)\n", + " self.right_num += target.eq(pred).sum().item()\n", + "\n", + " def get_metric(self, reset=True):\n", + " acc = self.right_num / self.total_num\n", + " if reset:\n", + " self.total_num = 0\n", + " self.right_num = 0\n", + " return {'prefix': acc}" + ] + }, + { + "cell_type": "markdown", + "id": "0155f447", + "metadata": {}, + "source": [ + "  数据使用方面,此处仍然使用`datasets`模块中的`load_dataset`函数,加载`SST-2`二分类数据集" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5ad81ac7", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Reusing dataset glue (/remote-home/xrliu/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ef923b90b19847f4916cccda5d33fc36", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00 0: # 如果设置了 num_eval_sanity_batch\n", + "\t\ton_sanity_check_begin(trainer)\n", + "\t\ton_sanity_check_end(trainer, sanity_check_res)\n", + "\ttry:\n", + "\t\ton_train_begin(trainer)\n", + "\t\twhile cur_epoch_idx < n_epochs:\n", + "\t\t\ton_train_epoch_begin(trainer)\n", + "\t\t\twhile batch_idx_in_epoch<=num_batches_per_epoch:\n", + "\t\t\t\ton_fetch_data_begin(trainer)\n", + "\t\t\t\tbatch = next(dataloader)\n", + "\t\t\t\ton_fetch_data_end(trainer)\n", + "\t\t\t\ton_train_batch_begin(trainer, batch, indices)\n", + "\t\t\t\ton_before_backward(trainer, outputs) # 其中 outputs 是经过 output_mapping 后的\n", + "\t\t\t\ton_after_backward(trainer)\n", + "\t\t\t\ton_before_zero_grad(trainer, optimizers) # 实际调用受到 accumulation_steps 影响\n", + "\t\t\t\ton_after_zero_grad(trainer, optimizers) # 实际调用受到 accumulation_steps 影响\n", + "\t\t\t\ton_before_optimizers_step(trainer, optimizers) # 实际调用受到 accumulation_steps 影响\n", + "\t\t\t\ton_after_optimizers_step(trainer, optimizers) # 实际调用受到 accumulation_steps 影响\n", + "\t\t\t\ton_train_batch_end(trainer)\n", + "\t\t\ton_train_epoch_end(trainer)\n", + "\texcept BaseException:\n", + "\t\tself.on_exception(trainer, exception)\n", + "\tfinally:\n", + "\t\ton_train_end(trainer)\n", + "``` -->" + ] + }, + { + "cell_type": "markdown", + "id": "1e21df35", + "metadata": {}, + "source": [ + "紧接着,初始化`trainer`实例,继续完成`SST-2`分类,其中`metrics`输入的键值对,字串`'suffix'`和之前定义的\n", + "\n", + "  字串`'prefix'`将拼接在一起显示到`progress bar`中,故完整的输出形式为`{'prefix#suffix': float}`" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "926a9c50", + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP import Trainer\n", + "\n", + "trainer = Trainer(\n", + " model=model,\n", + " driver='torch',\n", + " device=0, # 'cuda'\n", + " n_epochs=10,\n", + " optimizers=optimizers,\n", + " input_mapping=input_mapping,\n", + " train_dataloader=train_dataloader,\n", + " evaluate_dataloaders=evaluate_dataloader,\n", + " metrics={'suffix': MyMetric()}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "b1b2e8b7", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "source": [ + "最后就是`run`函数的使用,关于其参数,这里也以表格形式列出,由此就解答了`num_eval_batch_per_dl=10`的含义\n", + "\n", + "|名称|功能|默认值|\n", + "|----|----|----|\n", + "| `num_train_batch_per_epoch` | 指定`trainer`训练时,每个循环计算批量数目 | 整数类型,默认`-1`,表示训练时,每个循环计算所有批量 |\n", + "| `num_eval_batch_per_dl` | 指定`trainer`评测时,每个循环计算批量数目 | 整数类型,默认`-1`,表示评测时,每个循环计算所有批量 |\n", + "| `num_eval_sanity_batch` | 指定`trainer`训练开始前,试探性评测批量数目 | 整数类型,默认`2`,表示训练开始前评估两个批量 |\n", + "| `resume_from` | 指定`trainer`恢复状态的路径,需要是文件夹 | 字符串型,默认`None`,使用可参考`CheckpointCallback` |\n", + "| `resume_training` | 指定`trainer`恢复状态的程度 | 布尔类型,默认`True`恢复所有状态,`False`仅恢复`model`和`optimizers`状态 |" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "43be274f", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
[09:30:35] INFO     Running evaluator sanity check for 2 batches.              trainer.py:596\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[09:30:35]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=954293;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=366534;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  self.msg_id = ip.kernel._parent_header['header']['msg_id']\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " self.msg_id = ip.kernel._parent_header['header']['msg_id']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.6875\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.6875\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.8125\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.8125\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.80625\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.825\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.825\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.8125\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.8125\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.80625\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.80625\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.8\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.8\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.80625\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"prefix#suffix\": 0.80625\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"prefix#suffix\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1abfa0a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.13" + }, + "pycharm": { + "stem_cell": { + "cell_type": "raw", + "metadata": { + "collapsed": false + }, + "source": [] + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/tutorials/fastnlp_tutorial_6.ipynb b/docs/source/tutorials/fastnlp_tutorial_6.ipynb new file mode 100644 index 00000000..63f7481e --- /dev/null +++ b/docs/source/tutorials/fastnlp_tutorial_6.ipynb @@ -0,0 +1,1646 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fdd7ff16", + "metadata": {}, + "source": [ + "# T6. fastNLP 与 paddle 或 jittor 的结合\n", + "\n", + "  1   fastNLP 结合 paddle 训练模型\n", + " \n", + "    1.1   关于 paddle 的简单介绍\n", + "\n", + "    1.2   使用 paddle 搭建并训练模型\n", + "\n", + "  2   fastNLP 结合 jittor 训练模型\n", + "\n", + "    2.1   关于 jittor 的简单介绍\n", + "\n", + "    2.2   使用 jittor 搭建并训练模型\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "08752c5a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Reusing dataset glue (/remote-home/xrliu/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6b13d42c39ba455eb370bf2caaa3a264", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00\n", + "\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Processing: 0%| | 0/6000 [00:00 True\n" + ] + } + ], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "from fastNLP import DataSet\n", + "\n", + "dataset = DataSet.from_pandas(sst2data['train'].to_pandas())[:6000]\n", + "\n", + "dataset.apply_more(lambda ins:{'words': ins['sentence'].lower().split(), 'target': ins['label']}, \n", + " progress_bar=\"tqdm\")\n", + "dataset.delete_field('sentence')\n", + "dataset.delete_field('label')\n", + "dataset.delete_field('idx')\n", + "\n", + "from fastNLP import Vocabulary\n", + "\n", + "vocab = Vocabulary()\n", + "vocab.from_dataset(dataset, field_name='words')\n", + "vocab.index_dataset(dataset, field_name='words')\n", + "\n", + "train_dataset, evaluate_dataset = dataset.split(ratio=0.85)\n", + "print(type(train_dataset), isinstance(train_dataset, DataSet))\n", + "\n", + "from fastNLP.io import DataBundle\n", + "\n", + "data_bundle = DataBundle(datasets={'train': train_dataset, 'dev': evaluate_dataset})" + ] + }, + { + "cell_type": "markdown", + "id": "57a3272f", + "metadata": {}, + "source": [ + "## 1. fastNLP 结合 paddle 训练模型\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e31b3198", + "metadata": {}, + "outputs": [], + "source": [ + "import paddle\n", + "import paddle.nn as nn\n", + "import paddle.nn.functional as F\n", + "\n", + "\n", + "class ClsByPaddle(nn.Layer):\n", + " def __init__(self, vocab_size, embedding_dim, output_dim, hidden_dim=64, dropout=0.5):\n", + " nn.Layer.__init__(self)\n", + " self.hidden_dim = hidden_dim\n", + "\n", + " self.embedding = nn.Embedding(num_embeddings=vocab_size, embedding_dim=embedding_dim)\n", + " \n", + " self.conv1 = nn.Sequential(nn.Conv1D(embedding_dim, 30, 1, padding=0), nn.ReLU())\n", + " self.conv2 = nn.Sequential(nn.Conv1D(embedding_dim, 40, 3, padding=1), nn.ReLU())\n", + " self.conv3 = nn.Sequential(nn.Conv1D(embedding_dim, 50, 5, padding=2), nn.ReLU())\n", + "\n", + " self.mlp = nn.Sequential(('dropout', nn.Dropout(p=dropout)),\n", + " ('linear_1', nn.Linear(120, hidden_dim)),\n", + " ('activate', nn.ReLU()),\n", + " ('linear_2', nn.Linear(hidden_dim, output_dim)))\n", + " \n", + " self.loss_fn = nn.MSELoss()\n", + "\n", + " def forward(self, words):\n", + " output = self.embedding(words).transpose([0, 2, 1])\n", + " conv1, conv2, conv3 = self.conv1(output), self.conv2(output), self.conv3(output)\n", + "\n", + " pool1 = F.max_pool1d(conv1, conv1.shape[-1]).squeeze(2)\n", + " pool2 = F.max_pool1d(conv2, conv2.shape[-1]).squeeze(2)\n", + " pool3 = F.max_pool1d(conv3, conv3.shape[-1]).squeeze(2)\n", + "\n", + " pool = paddle.concat([pool1, pool2, pool3], axis=1)\n", + " output = self.mlp(pool)\n", + " return output\n", + " \n", + " def train_step(self, words, target):\n", + " pred = self(words)\n", + " target = paddle.stack((1 - target, target), axis=1).cast(pred.dtype)\n", + " return {'loss': self.loss_fn(pred, target)}\n", + "\n", + " def evaluate_step(self, words, target):\n", + " pred = self(words)\n", + " pred = paddle.argmax(pred, axis=-1)\n", + " return {'pred': pred, 'target': target}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c63b030f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "W0604 21:02:25.453869 19014 gpu_context.cc:278] Please NOTE: device: 0, GPU Compute Capability: 6.1, Driver API Version: 11.1, Runtime API Version: 10.2\n", + "W0604 21:02:26.061690 19014 gpu_context.cc:306] device: 0, cuDNN Version: 7.6.\n" + ] + }, + { + "data": { + "text/plain": [ + "ClsByPaddle(\n", + " (embedding): Embedding(8458, 100, sparse=False)\n", + " (conv1): Sequential(\n", + " (0): Conv1D(100, 30, kernel_size=[1], data_format=NCL)\n", + " (1): ReLU()\n", + " )\n", + " (conv2): Sequential(\n", + " (0): Conv1D(100, 40, kernel_size=[3], padding=1, data_format=NCL)\n", + " (1): ReLU()\n", + " )\n", + " (conv3): Sequential(\n", + " (0): Conv1D(100, 50, kernel_size=[5], padding=2, data_format=NCL)\n", + " (1): ReLU()\n", + " )\n", + " (mlp): Sequential(\n", + " (dropout): Dropout(p=0.5, axis=None, mode=upscale_in_train)\n", + " (linear_1): Linear(in_features=120, out_features=64, dtype=float32)\n", + " (activate): ReLU()\n", + " (linear_2): Linear(in_features=64, out_features=2, dtype=float32)\n", + " )\n", + " (loss_fn): MSELoss()\n", + ")" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model = ClsByPaddle(vocab_size=len(vocab), embedding_dim=100, output_dim=2)\n", + "\n", + "model" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2997c0aa", + "metadata": {}, + "outputs": [], + "source": [ + "from paddle.optimizer import AdamW\n", + "\n", + "optimizers = AdamW(parameters=model.parameters(), learning_rate=5e-4)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ead35fb8", + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP import prepare_paddle_dataloader\n", + "\n", + "train_dataloader = prepare_paddle_dataloader(train_dataset, batch_size=16, shuffle=True)\n", + "evaluate_dataloader = prepare_paddle_dataloader(evaluate_dataset, batch_size=16)\n", + "\n", + "# dl_bundle = prepare_paddle_dataloader(data_bundle, batch_size=16, shuffle=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "25e8da83", + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP import Trainer, Accuracy\n", + "\n", + "trainer = Trainer(\n", + " model=model,\n", + " driver='paddle',\n", + " device='gpu', # 'cpu', 'gpu', 'gpu:x'\n", + " n_epochs=10,\n", + " optimizers=optimizers,\n", + " train_dataloader=train_dataloader, # dl_bundle['train'],\n", + " evaluate_dataloaders=evaluate_dataloader, # dl_bundle['dev'], \n", + " metrics={'acc': Accuracy()}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d63c5d74", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[21:03:08] INFO     Running evaluator sanity check for 2 batches.              trainer.py:596\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[21:03:08]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=894986;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=567751;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:111: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " if ip and hasattr(ip, 'kernel') and hasattr(ip.kernel, '_parent_header'):\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n",
+       "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n",
+       ".get_parent()\n",
+       "  self.msg_id = ip.kernel._parent_header['header']['msg_id']\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/ipywidgets/widgets/widget_\n", + "output.py:112: DeprecationWarning: Kernel._parent_header is deprecated in ipykernel 6. Use \n", + ".get_parent()\n", + " self.msg_id = ip.kernel._parent_header['header']['msg_id']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/paddle/tensor/creation.py:\n",
+       "125: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To \n",
+       "silence this warning, use `object` by itself. Doing this will not modify any behavior and is \n",
+       "safe. \n",
+       "Deprecated in NumPy 1.20; for more details and guidance: \n",
+       "https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations\n",
+       "  if data.dtype == np.object:\n",
+       "
\n" + ], + "text/plain": [ + "/remote-home/xrliu/anaconda3/envs/demo/lib/python3.7/site-packages/paddle/tensor/creation.py:\n", + "125: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To \n", + "silence this warning, use `object` by itself. Doing this will not modify any behavior and is \n", + "safe. \n", + "Deprecated in NumPy 1.20; for more details and guidance: \n", + "https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations\n", + " if data.dtype == np.object:\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.78125,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 125.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.78125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m125.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.7875,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 126.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.7875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m126.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.8,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 128.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.8\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m128.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.79375,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 127.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.79375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m127.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.81875,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 131.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.81875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m131.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.8,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 128.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.8\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m128.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.80625,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 129.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.80625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m129.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.79375,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 127.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.79375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m127.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.7875,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 126.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.7875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m126.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.8,\n",
+       "  \"total#acc\": 160.0,\n",
+       "  \"correct#acc\": 128.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.8\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m128.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10) " + ] + }, + { + "cell_type": "markdown", + "id": "cb9a0b3c", + "metadata": {}, + "source": [ + "## 2. fastNLP 结合 jittor 训练模型" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c600191d", + "metadata": {}, + "outputs": [], + "source": [ + "import jittor\n", + "import jittor.nn as nn\n", + "\n", + "from jittor import Module\n", + "\n", + "\n", + "class ClsByJittor(Module):\n", + " def __init__(self, vocab_size, embedding_dim, output_dim, hidden_dim=64, num_layers=2, dropout=0.5):\n", + " Module.__init__(self)\n", + " self.hidden_dim = hidden_dim\n", + "\n", + " self.embedding = nn.Embedding(num=vocab_size, dim=embedding_dim)\n", + " self.lstm = nn.LSTM(input_size=embedding_dim, hidden_size=hidden_dim, batch_first=True, # 默认 batch_first=False\n", + " num_layers=num_layers, bidirectional=True, dropout=dropout)\n", + " self.mlp = nn.Sequential([nn.Dropout(p=dropout),\n", + " nn.Linear(hidden_dim * 2, hidden_dim * 2),\n", + " nn.ReLU(),\n", + " nn.Linear(hidden_dim * 2, output_dim),\n", + " nn.Sigmoid(),])\n", + "\n", + " self.loss_fn = nn.MSELoss()\n", + "\n", + " def execute(self, words):\n", + " output = self.embedding(words)\n", + " output, (hidden, cell) = self.lstm(output)\n", + " output = self.mlp(jittor.concat((hidden[-1], hidden[-2]), dim=1))\n", + " return output\n", + " \n", + " def train_step(self, words, target):\n", + " pred = self(words)\n", + " target = jittor.stack((1 - target, target), dim=1)\n", + " return {'loss': self.loss_fn(pred, target)}\n", + "\n", + " def evaluate_step(self, words, target):\n", + " pred = self(words)\n", + " pred = jittor.argmax(pred, dim=-1)[0]\n", + " return {'pred': pred, 'target': target}" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "a94ed8c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ClsByJittor(\n", + " embedding: Embedding(8458, 100)\n", + " lstm: LSTM(100, 64, 2, bias=True, batch_first=True, dropout=0.5, bidirectional=True, proj_size=0)\n", + " mlp: Sequential(\n", + " 0: Dropout(0.5, is_train=False)\n", + " 1: Linear(128, 128, float32[128,], None)\n", + " 2: relu()\n", + " 3: Linear(128, 2, float32[2,], None)\n", + " 4: Sigmoid()\n", + " )\n", + " loss_fn: MSELoss(mean)\n", + ")" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model = ClsByJittor(vocab_size=len(vocab), embedding_dim=100, output_dim=2)\n", + "\n", + "model" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6d15ebc1", + "metadata": {}, + "outputs": [], + "source": [ + "from jittor.optim import AdamW\n", + "\n", + "optimizers = AdamW(params=model.parameters(), lr=5e-3)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "95d8d09e", + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP import prepare_jittor_dataloader\n", + "\n", + "train_dataloader = prepare_jittor_dataloader(train_dataset, batch_size=16, shuffle=True)\n", + "evaluate_dataloader = prepare_jittor_dataloader(evaluate_dataset, batch_size=16)\n", + "\n", + "# dl_bundle = prepare_jittor_dataloader(data_bundle, batch_size=16, shuffle=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "917eab81", + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP import Trainer, Accuracy\n", + "\n", + "trainer = Trainer(\n", + " model=model,\n", + " driver='jittor',\n", + " device='gpu', # 'cpu', 'gpu', 'cuda'\n", + " n_epochs=10,\n", + " optimizers=optimizers,\n", + " train_dataloader=train_dataloader, # dl_bundle['train'],\n", + " evaluate_dataloaders=evaluate_dataloader, # dl_bundle['dev'],\n", + " metrics={'acc': Accuracy()}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f7c4ac5a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[21:05:51] INFO     Running evaluator sanity check for 2 batches.              trainer.py:596\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[21:05:51]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=69759;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=202322;file://../fastNLP/core/controllers/trainer.py#596\u001b\\\u001b[2m596\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Compiling Operators(5/6) used: 8.31s eta: 1.66s 6/6) used: 9.33s eta:    0s \n",
+      "\n",
+      "Compiling Operators(31/31) used: 7.31s eta:    0s \n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.61875,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 99\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.61875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m99\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.7,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 112\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.7\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m112\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.725,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 116\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.725\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m116\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.74375,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 119\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.74375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m119\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.75625,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 121\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.75625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m121\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.75625,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 121\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.75625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m121\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.73125,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 117\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.73125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m117\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.7625,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 122\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.7625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m122\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.74375,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 119\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.74375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m119\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.7625,\n",
+       "  \"total#acc\": 160,\n",
+       "  \"correct#acc\": 122\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.7625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m160\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m122\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3df5f425", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/tutorials/fastnlp_tutorial_e1.ipynb b/docs/source/tutorials/fastnlp_tutorial_e1.ipynb new file mode 100644 index 00000000..af8e60a0 --- /dev/null +++ b/docs/source/tutorials/fastnlp_tutorial_e1.ipynb @@ -0,0 +1,1280 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "  从这篇开始,我们将开启 **fastNLP v1.0 tutorial 的 example 系列**,在接下来的\n", + "\n", + "  每篇`tutorial`里,我们将会介绍`fastNLP v1.0`在自然语言处理任务上的应用实例" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[, , ]\n" + ] + } + ], + "source": [ + "from pygments.plugin import find_plugin_lexers\n", + "print(list(find_plugin_lexers()))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# E1. 使用 Bert + fine-tuning 完成 SST-2 分类\n", + "\n", + "  1   基础介绍:`GLUE`通用语言理解评估、`SST-2`文本情感二分类数据集 \n", + "\n", + "  2   准备工作:加载`tokenizer`、预处理`dataset`、`dataloader`使用\n", + "\n", + "  3   模型训练:加载`distilbert-base`、`fastNLP`参数匹配、`fine-tuning`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.18.0\n" + ] + } + ], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torch.optim import AdamW\n", + "from torch.utils.data import DataLoader, Dataset\n", + "\n", + "import transformers\n", + "from transformers import AutoTokenizer\n", + "from transformers import AutoModelForSequenceClassification\n", + "\n", + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import fastNLP\n", + "from fastNLP import Trainer\n", + "from fastNLP import Accuracy\n", + "\n", + "print(transformers.__version__)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. 基础介绍:GLUE 通用语言理解评估、SST-2 文本情感二分类数据集\n", + "\n", + "  本示例使用`GLUE`评估基准中的`SST-2`数据集,通过`fine-tuning`方式\n", + "\n", + "    调整`distilbert-bert`分类模型,以下首先简单介绍下`GLUE`和`SST-2`\n", + "\n", + "**GLUE**,**全称 General Language Understanding Evaluation**,**通用语言理解评估**,\n", + "\n", + "  包含9个数据集,各语料的语言均为英语,涉及多个自然语言理解`NLU`任务,包括\n", + "\n", + "    **CoLA**,文本分类任务,预测单句语法正误分类;**SST-2**,文本分类任务,预测单句情感二分类\n", + "\n", + "    **MRPC**,句对分类任务,预测句对语义一致性;**STS-B**,相似度打分任务,预测句对语义相似度回归\n", + "\n", + "    **QQP**,句对分类任务,预测问题对语义一致性;**MNLI**,文本推理任务,预测句对蕴含/矛盾/中立预测\n", + "\n", + "    **QNLI / RTE / WNLI**,文本推理,预测是否蕴含二分类(其中,`QNLI`从`SQuAD`转化而来\n", + "\n", + "  诸如`BERT`、`T5`等经典模型都会在此基准上验证效果,更多参考[GLUE论文](https://arxiv.org/pdf/1804.07461v3.pdf)\n", + "\n", + "    此处,我们使用`SST-2`来训练`bert`,实现文本分类,其他任务描述见下图" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "GLUE_TASKS = ['cola', 'mnli', 'mrpc', 'qnli', 'qqp', 'rte', 'sst2', 'stsb', 'wnli']\n", + "\n", + "task = 'sst2'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "**SST**,**全称`Stanford Sentiment Treebank**,**斯坦福情感树库**,**单句情感分类**数据集\n", + "\n", + "  包含电影评论语句和对应的情感极性,1 对应`positive` 正面情感,0 对应`negative` 负面情感\n", + "\n", + "  数据集包括三部分:训练集 67350 条,验证集 873 条,测试集 1821 条,更多参考[下载链接](https://gluebenchmark.com/tasks)\n", + "\n", + "对应到代码上,此处使用`datasets`模块中的`load_dataset`函数,指定`SST-2`数据集,自动加载\n", + "\n", + "  首次下载后会保存至`~/.cache/huggingface/modules/datasets_modules/datasets/glue/`目录下" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Reusing dataset glue (/remote-home/xrliu/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c5915debacf9443986b5b3b34870b303", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00[09:12:45] INFO Running evaluator sanity check for 2 batches. trainer.py:592\n", + "\n" + ], + "text/plain": [ + "\u001b[2;36m[09:12:45]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=408427;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=303634;file://../fastNLP/core/controllers/trainer.py#592\u001b\\\u001b[2m592\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.884375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 283.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.884375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m283.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.878125,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 281.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.878125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m281.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.884375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 283.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.884375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m283.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.9,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 288.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.9\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m288.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.8875,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 284.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.8875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m284.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.88125,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 282.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.88125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m282.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.875,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 280.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m280.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.865625,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 277.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.865625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m277.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.884375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 283.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.884375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m283.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.878125,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 281.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.878125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m281.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'acc#acc': 0.884174, 'total#acc': 872.0, 'correct#acc': 771.0}"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 附:`DistilBertForSequenceClassification`模块结构\n",
+    "\n",
+    "```\n",
+    "\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3.7.13 ('fnlp-paddle')",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.13"
+  },
+  "pycharm": {
+   "stem_cell": {
+    "cell_type": "raw",
+    "metadata": {
+     "collapsed": false
+    },
+    "source": []
+   }
+  },
+  "vscode": {
+   "interpreter": {
+    "hash": "31f2d9d3efc23c441973d7c4273acfea8b132b6a578f002629b6b44b8f65e720"
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/docs/source/tutorials/fastnlp_tutorial_e2.ipynb b/docs/source/tutorials/fastnlp_tutorial_e2.ipynb
new file mode 100644
index 00000000..588ee8c3
--- /dev/null
+++ b/docs/source/tutorials/fastnlp_tutorial_e2.ipynb
@@ -0,0 +1,1082 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# E2. 使用 Bert + prompt 完成 SST-2 分类\n",
+    "\n",
+    "  1   基础介绍:`prompt-based model`简介、与`fastNLP`的结合\n",
+    "\n",
+    "  2   准备工作:`P-Tuning v2`原理概述、`P-Tuning v2`模型搭建\n",
+    "\n",
+    "  3   模型训练:加载`tokenizer`、预处理`dataset`、模型训练与分析"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 1. 基础介绍:prompt-based model 简介、与 fastNLP 的结合\n",
+    "\n",
+    "  本示例使用`GLUE`评估基准中的`SST-2`数据集,通过`prompt-based tuning`方式\n",
+    "\n",
+    "    微调`bert-base-uncased`模型,实现文本情感的二分类,在此之前本示例\n",
+    "\n",
+    "    将首先简单介绍提示学习模型的研究,以及与`fastNLP v1.0`结合的优势\n",
+    "\n",
+    "**prompt**,**提示词**,最早出自论文[Exploiting Cloze Questions for Few Shot TC and NLI](https://arxiv.org/pdf/2001.07676.pdf)中的 **PET 模型**\n",
+    "\n",
+    "    全称 **Pattern-Exploiting Training**,虽然文中并没有提到`prompt`的说法,但仍被视为开山之作\n",
+    "\n",
+    "  其大致思路包括,对于文本分类任务,假定输入文本为`\" X . \"`,设计**输入模板 template**,**后来被称为 prompt**\n",
+    "\n",
+    "    将输入重构为`\" X . It is [MASK] . \"`,**诱导或刺激语言模型在 [MASK] 位置生成含有情感倾向的词汇**\n",
+    "\n",
+    "    接着将该词汇**输入分类器中**,**后来被称为 verbalizer**,从而得到该语句对应的情感倾向,实现文本分类\n",
+    "\n",
+    "  其主要贡献在于,通过构造`prompt`,诱导/刺激预训练模型生成期望适应下游任务特征,适合少样本学习的需求\n",
+    "\n",
+    "\n",
+    "\n",
+    "**prompt-based tuning**,**基于提示的微调**,将`prompt`应用于**参数高效微调**,**parameter-efficient tuning**\n",
+    "\n",
+    "  通过**设计模板调整模型输入**或者**调整模型内部状态**,**固定预训练模型**,**诱导/刺激模型**调整输出以适应\n",
+    "\n",
+    "  当前任务,极大降低了训练开销,也省去了`verbalizer`的构造,更多参考[prompt综述](https://arxiv.org/pdf/2107.13586.pdf)、[DeltaTuning综述](https://arxiv.org/pdf/2203.06904.pdf)\n",
+    "\n",
+    "    以下列举些经典的`prompt-based tuning`案例,简单地介绍下`prompt-based tuning`的脉络\n",
+    "\n",
+    "  **案例一**:**PrefixTuning**,详细内容参考[PrefixTuning论文](https://arxiv.org/pdf/2101.00190.pdf)\n",
+    "\n",
+    "    其主要贡献在于,**提出连续的、非人工构造的、任务导向的 prompt**,即**前缀 prefix**,**调整**\n",
+    "\n",
+    "      **模型内部更新状态**,诱导模型在特定任务下生成期望目标,降低优化难度,提升微调效果\n",
+    "\n",
+    "    其主要研究对象,是`GPT2`和`BART`,主要面向生成任务`NLG`,如`table-to-text`和摘要\n",
+    "\n",
+    "  **案例二**:**P-Tuning v1**,详细内容参考[P-Tuning-v1论文](https://arxiv.org/pdf/2103.10385.pdf)\n",
+    "\n",
+    "    其主要贡献在于,**通过连续的、非人工构造的 prompt 调整模型输入**,取代原先基于单词设计的\n",
+    "\n",
+    "      但离散且不易于优化的`prompt`;同时也**证明了 GPT2 在语言理解任务上仍然是可以胜任的**\n",
+    "\n",
+    "    其主要研究对象,是`GPT2`,主要面向知识探测`knowledge probing`和自然语言理解`NLU`\n",
+    "\n",
+    "  **案例三**:**PromptTuning**,详细内容参考[PromptTuning论文](https://arxiv.org/pdf/2104.08691.pdf)\n",
+    "\n",
+    "    其主要贡献在于,通过连续的`prompt`调整模型输入,**证明了 prompt-based tuning 的效果**\n",
+    "\n",
+    "      **随模型参数量的增加而提升**,最终**在 10B 左右追上了全参数微调 fine-tuning 的效果**\n",
+    "\n",
+    "    其主要面向自然语言理解`NLU`,通过为每个任务定义不同的`prompt`,从而支持多任务语境\n",
+    "\n",
+    "通过上述介绍可以发现`prompt-based tuning`只是模型微调方式,独立于预训练模型基础`backbone`\n",
+    "\n",
+    "  目前,加载预训练模型的主流方法是使用**transformers 模块**,而实现微调的框架则\n",
+    "\n",
+    "    可以是`pytorch`、`paddle`、`jittor`等,而不同框架间又存在不兼容的问题\n",
+    "\n",
+    "  因此,**使用 fastNLP v1.0 实现 prompt-based tuning**,可以**很好地解决 paddle 等框架**\n",
+    "\n",
+    "    **和 transformers 模块之间的桥接**(`transformers`模块基于`pytorch`实现)\n",
+    "\n",
+    "本示例仍使用了`tutorial-E1`的`SST-2`数据集、`distilbert-base-uncased`模型(便于比较\n",
+    "\n",
+    "  使用`pytorch`框架,通过将连续的`prompt`与`model`拼接,解决`SST-2`二分类任务"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.18.0\n" + ] + } + ], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torch.optim import AdamW\n", + "from torch.utils.data import DataLoader, Dataset\n", + "\n", + "import transformers\n", + "from transformers import AutoTokenizer\n", + "from transformers import AutoModelForSequenceClassification\n", + "\n", + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import fastNLP\n", + "from fastNLP import Trainer\n", + "from fastNLP.core.metrics import Accuracy\n", + "\n", + "print(transformers.__version__)\n", + "\n", + "task = 'sst2'\n", + "model_checkpoint = 'distilbert-base-uncased' # 'bert-base-uncased'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2. 准备工作:P-Tuning v2 原理概述、P-Tuning v2 模型搭建\n", + "\n", + "  本示例使用`P-Tuning v2`作为`prompt-based tuning`与`fastNLP v1.0`结合的案例\n", + "\n", + "    以下首先简述`P-Tuning v2`的论文原理,并由此引出`fastNLP v1.0`的代码实践\n", + "\n", + "**P-Tuning v2**出自论文[Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks](https://arxiv.org/pdf/2110.07602.pdf)\n", + "\n", + "  其主要贡献在于,**在 PrefixTuning 等深度提示学习基础上**,**提升了其在分类标注等 NLU 任务的表现**\n", + "\n", + "    并使之在中等规模模型,主要是**参数量在 100M-1B 区间的模型上**,**获得与全参数微调相同的效果**\n", + "\n", + "  其结构如图所示,通过**在输入序列的分类符 [CLS] 之前**,**加入前缀序列**(**序号对应嵌入是待训练的连续值向量**\n", + "\n", + "    **刺激模型在新任务下**,从`[CLS]`对应位置,**输出符合微调任务的输出**,从而达到适应微调任务的目的\n", + "\n", + "\n", + "\n", + "本示例使用`bert-base-uncased`模型,作为`P-Tuning v2`的基础`backbone`,设置`requires_grad=False`\n", + "\n", + "    固定其参数不参与训练,**设置 pre_seq_len 长的 prefix_tokens 作为输入的提示前缀序列**\n", + "\n", + "  **使用基于 nn.Embedding 的 prefix_encoder 为提示前缀嵌入**,通过`get_prompt`函数获取,再将之\n", + "\n", + "    拼接至批量内每笔数据前得到`inputs_embeds`,同时更新自注意力掩码`attention_mask`\n", + "\n", + "  将`inputs_embeds`、`attention_mask`和`labels`输入`backbone`,**得到输出包括 loss 和 logits**" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class SeqClsModel(nn.Module):\n", + " def __init__(self, model_checkpoint, num_labels, pre_seq_len):\n", + " nn.Module.__init__(self)\n", + " self.num_labels = num_labels\n", + " self.back_bone = AutoModelForSequenceClassification.from_pretrained(model_checkpoint, \n", + " num_labels=num_labels)\n", + " self.embeddings = self.back_bone.get_input_embeddings()\n", + "\n", + " for param in self.back_bone.parameters():\n", + " param.requires_grad = False\n", + " \n", + " self.pre_seq_len = pre_seq_len\n", + " self.prefix_tokens = torch.arange(self.pre_seq_len).long()\n", + " self.prefix_encoder = nn.Embedding(self.pre_seq_len, self.embeddings.embedding_dim)\n", + " \n", + " def get_prompt(self, batch_size):\n", + " prefix_tokens = self.prefix_tokens.unsqueeze(0).expand(batch_size, -1).to(self.back_bone.device)\n", + " prompts = self.prefix_encoder(prefix_tokens)\n", + " return prompts\n", + "\n", + " def forward(self, input_ids, attention_mask, labels=None):\n", + " \n", + " batch_size = input_ids.shape[0]\n", + " raw_embedding = self.embeddings(input_ids)\n", + " \n", + " prompts = self.get_prompt(batch_size=batch_size)\n", + " inputs_embeds = torch.cat((prompts, raw_embedding), dim=1)\n", + " prefix_attention_mask = torch.ones(batch_size, self.pre_seq_len).to(self.back_bone.device)\n", + " attention_mask = torch.cat((prefix_attention_mask, attention_mask), dim=1)\n", + "\n", + " outputs = self.back_bone(inputs_embeds=inputs_embeds, \n", + " attention_mask=attention_mask, labels=labels)\n", + " return outputs\n", + "\n", + " def train_step(self, input_ids, attention_mask, labels):\n", + " loss = self(input_ids, attention_mask, labels).loss\n", + " return {'loss': loss}\n", + "\n", + " def evaluate_step(self, input_ids, attention_mask, labels):\n", + " pred = self(input_ids, attention_mask, labels).logits\n", + " pred = torch.max(pred, dim=-1)[1]\n", + " return {'pred': pred, 'target': labels}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接着,通过确定分类数量初始化模型实例,同时调用`torch.optim.AdamW`模块初始化优化器\n", + "\n", + "  根据`P-Tuning v2`论文:`Generally, simple classification tasks prefer shorter prompts (less than 20)`\n", + "\n", + "  此处`pre_seq_len`参数设定为`20`,学习率相应做出调整,其他内容和`tutorial-E1`中的内容一致" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Some weights of the model checkpoint at distilbert-base-uncased were not used when initializing DistilBertForSequenceClassification: ['vocab_layer_norm.bias', 'vocab_layer_norm.weight', 'vocab_projector.weight', 'vocab_transform.bias', 'vocab_transform.weight', 'vocab_projector.bias']\n", + "- This IS expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n", + "- This IS NOT expected if you are initializing DistilBertForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n", + "Some weights of DistilBertForSequenceClassification were not initialized from the model checkpoint at distilbert-base-uncased and are newly initialized: ['pre_classifier.weight', 'classifier.weight', 'pre_classifier.bias', 'classifier.bias']\n", + "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n" + ] + } + ], + "source": [ + "model = SeqClsModel(model_checkpoint=model_checkpoint, num_labels=2, pre_seq_len=20)\n", + "\n", + "optimizers = AdamW(params=model.parameters(), lr=1e-2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. 模型训练:加载 tokenizer、预处理 dataset、模型训练与分析\n", + "\n", + "  本示例沿用`tutorial-E1`中的数据集,即使用`GLUE`评估基准中的`SST-2`数据集\n", + "\n", + "    以`bert-base-uncased`模型作为基准,基于`P-Tuning v2`方式微调\n", + "\n", + "    数据集加载相关代码流程见下,内容和`tutorial-E1`中的内容基本一致\n", + "\n", + "首先,使用`datasets.load_dataset`加载数据集,使用`transformers.AutoTokenizer`\n", + "\n", + "  构建`tokenizer`实例,通过`dataset.map`使用`tokenizer`将文本替换为词素序号序列" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Reusing dataset glue (/remote-home/xrliu/.cache/huggingface/datasets/glue/sst2/1.0.0/dacbe3125aa31d7f70367a07a8a9e72a5a0bfeb5fc42e75c9db75b96da6053ad)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "21cbd92c3397497d84dc10f017ec96f4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00[22:53:00] INFO Running evaluator sanity check for 2 batches. trainer.py:592\n", + "\n" + ], + "text/plain": [ + "\u001b[2;36m[22:53:00]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=406635;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=951504;file://../fastNLP/core/controllers/trainer.py#592\u001b\\\u001b[2m592\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:1, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.540625,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 173.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.540625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m173.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:2, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m2\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.5,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 160.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.5\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m160.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:3, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m3\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.509375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 163.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.509375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m163.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:4, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m4\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.634375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 203.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.634375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m203.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:5, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m5\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.6125,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 196.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.6125\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m196.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:6, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m6\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.675,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 216.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.675\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m216.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:7, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m7\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.64375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 206.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.64375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m206.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:8, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m8\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.665625,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 213.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.665625\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m213.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
----------------------------- Eval. results on Epoch:9, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "----------------------------- Eval. results on Epoch:\u001b[1;36m9\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.659375,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 211.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.659375\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m211.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:10, Batch:0 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m10\u001b[0m, Batch:\u001b[1;36m0\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#acc\": 0.696875,\n",
+       "  \"total#acc\": 320.0,\n",
+       "  \"correct#acc\": 223.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#acc\"\u001b[0m: \u001b[1;36m0.696875\u001b[0m,\n", + " \u001b[1;34m\"total#acc\"\u001b[0m: \u001b[1;36m320.0\u001b[0m,\n", + " \u001b[1;34m\"correct#acc\"\u001b[0m: \u001b[1;36m223.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "trainer.run(num_eval_batch_per_dl=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以发现,其效果远远逊色于`fine-tuning`,这是因为`P-Tuning v2`虽然能够适应参数量\n", + "\n", + "  在`100M-1B`区间的模型,但是,**distilbert-base 的参数量仅为 66M**,无法触及其下限\n", + "\n", + "另一方面,**fastNLP v1.0 不支持 jupyter 多卡**,所以无法在笔者的电脑/服务器上,完成\n", + "\n", + "  合适规模模型的学习,例如`110M`的`bert-base`模型,以及`340M`的`bert-large`模型" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'acc#acc': 0.737385, 'total#acc': 872.0, 'correct#acc': 643.0}"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "trainer.evaluator.run()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.13"
+  },
+  "pycharm": {
+   "stem_cell": {
+    "cell_type": "raw",
+    "metadata": {
+     "collapsed": false
+    },
+    "source": []
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/docs/source/tutorials/fastnlp_tutorial_paddle_e1.ipynb b/docs/source/tutorials/fastnlp_tutorial_paddle_e1.ipynb
new file mode 100644
index 00000000..a5883416
--- /dev/null
+++ b/docs/source/tutorials/fastnlp_tutorial_paddle_e1.ipynb
@@ -0,0 +1,1086 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# E3. 使用 paddlenlp 和 fastNLP 实现中文文本情感分析\n",
+    "\n",
+    "本篇教程属于 **fastNLP v1.0 tutorial 的 paddle examples 系列**。在本篇教程中,我们将为您展示如何使用 `paddlenlp` 自然语言处理库和 `fastNLP` 来完成比较简单的情感分析任务。\n",
+    "\n",
+    "1. 基础介绍:飞桨自然语言处理库 ``paddlenlp`` 和语义理解框架 ``ERNIE``\n",
+    "\n",
+    "2. 准备工作:使用 ``tokenizer`` 处理数据并构造 ``dataloader``\n",
+    "\n",
+    "3. 模型训练:加载 ``ERNIE`` 预训练模型,使用 ``fastNLP`` 进行训练"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 1. 基础介绍:飞桨自然语言处理库 paddlenlp 和语义理解框架 ERNIE\n",
+    "\n",
+    "#### 1.1 飞桨自然语言处理库 paddlenlp\n",
+    "\n",
+    "``paddlenlp`` 是由百度以飞桨 ``PaddlePaddle`` 为核心开发的自然语言处理库,集成了多个数据集和 NLP 模型,包括百度自研的语义理解框架 ``ERNIE`` 。在本篇教程中,我们会以 ``paddlenlp`` 为基础,使用模型 ``ERNIE`` 完成中文情感分析任务。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "2.3.3\n"
+     ]
+    }
+   ],
+   "source": [
+    "import sys\n",
+    "sys.path.append(\"../\")\n",
+    "\n",
+    "import paddle\n",
+    "import paddlenlp\n",
+    "from paddlenlp.transformers import AutoTokenizer\n",
+    "from paddlenlp.transformers import AutoModelForSequenceClassification\n",
+    "\n",
+    "print(paddlenlp.__version__)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 1.2 语义理解框架 ERNIE\n",
+    "\n",
+    "``ERNIE(Enhanced Representation from kNowledge IntEgration)`` 是百度提出的基于知识增强的持续学习语义理解框架,至今已有 ``ERNIE 2.0``、``ERNIE 3.0``、``ERNIE-M``、``ERNIE-tiny`` 等多种预训练模型。``ERNIE 1.0`` 采用``Transformer Encoder`` 作为其语义表示的骨架,并改进了两种 ``mask`` 策略,分别为基于**短语**和**实体**(人名、组织等)的策略。在 ``ERNIE`` 中,由多个字组成的短语或者实体将作为一个统一单元,在训练的时候被统一地 ``mask`` 掉,这样可以潜在地学习到知识的依赖以及更长的语义依赖来让模型更具泛化性。\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "``ERNIE 2.0`` 则提出了连续学习(``Continual Learning``)的概念,即首先用一个简单的任务来初始化模型,在更新时用前一个任务训练好的参数作为下一个任务模型初始化的参数。这样在训练新的任务时,模型便可以记住之前学习到的知识,使得模型在新任务上获得更好的表现。``ERNIE 2.0`` 分别构建了词法、语法、语义不同级别的预训练任务,并使用不同的 task id 来标示不同的任务,在共计16个中英文任务上都取得了SOTA效果。\n",
+    "\n",
+    "\n",
+    "\n",
+    "``ERNIE 3.0`` 将自回归和自编码网络融合在一起进行预训练,其中自编码网络采用 ``ERNIE 2.0`` 的多任务学习增量式构建预训练任务,持续进行语义理解学习。其中自编码网络增加了知识增强的预训练任务。自回归网络则基于 ``Tranformer-XL`` 结构,支持长文本语言模型建模,并在多个自然语言处理任务中取得了SOTA的效果。\n",
+    "\n",
+    "\n",
+    "\n",
+    "接下来,我们将展示如何在 ``fastNLP`` 中使用基于 ``paddle`` 的 ``ERNIE 1.0`` 框架进行中文情感分析。"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 2. 使用 tokenizer 处理数据并构造 dataloader\n",
+    "\n",
+    "#### 2.1 加载中文数据集 ChnSentiCorp\n",
+    "\n",
+    "``ChnSentiCorp`` 数据集是由中国科学院发布的中文句子级情感分析数据集,包含了从网络上获取的酒店、电影、书籍等多个领域的评论,每条评论都被划分为两个标签:消极(``0``)和积极(``1``),可以用于二分类的中文情感分析任务。通过 ``paddlenlp.datasets.load_dataset`` 函数,我们可以加载并查看 ``ChnSentiCorp`` 数据集的内容。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "训练集大小: 9600\n",
+      "{'text': '选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', 'label': 1, 'qid': ''}\n",
+      "{'text': '15.4寸笔记本的键盘确实爽,基本跟台式机差不多了,蛮喜欢数字小键盘,输数字特方便,样子也很美观,做工也相当不错', 'label': 1, 'qid': ''}\n",
+      "{'text': '房间太小。其他的都一般。。。。。。。。。', 'label': 0, 'qid': ''}\n"
+     ]
+    }
+   ],
+   "source": [
+    "from paddlenlp.datasets import load_dataset\n",
+    "\n",
+    "train_dataset, val_dataset, test_dataset = load_dataset(\"chnsenticorp\", splits=[\"train\", \"dev\", \"test\"])\n",
+    "print(\"训练集大小:\", len(train_dataset))\n",
+    "for i in range(3):\n",
+    "    print(train_dataset[i])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 2.2 处理数据\n",
+    "\n",
+    "可以看到,原本的数据集仅包含中文的文本和标签,这样的数据是无法被模型识别的。同英文文本分类任务一样,我们需要使用 ``tokenizer`` 对文本进行分词并转换为数字形式的结果。我们可以加载已经预训练好的中文分词模型 ``ernie-1.0-base-zh``,将分词的过程写在函数 ``_process`` 中,然后调用数据集的 ``map`` 函数对每一条数据进行分词。其中:\n",
+    "- 参数 ``max_length`` 代表句子的最大长度;\n",
+    "- ``padding=\"max_length\"`` 表示将长度不足的结果 padding 至和最大长度相同;\n",
+    "- ``truncation=True`` 表示将长度过长的句子进行截断。\n",
+    "\n",
+    "至此,我们得到了每条数据长度均相同的数据集。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[2022-06-22 21:31:04,168] [    INFO]\u001b[0m - We are using  to load 'ernie-1.0-base-zh'.\u001b[0m\n",
+      "\u001b[32m[2022-06-22 21:31:04,171] [    INFO]\u001b[0m - Already cached /remote-home/shxing/.paddlenlp/models/ernie-1.0-base-zh/vocab.txt\u001b[0m\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'text': '选择珠江花园的原因就是方便,有电动扶梯直接到达海边,周围餐馆、食廊、商场、超市、摊位一应俱全。酒店装修一般,但还算整洁。 泳池在大堂的屋顶,因此很小,不过女儿倒是喜欢。 包的早餐是西式的,还算丰富。 服务吗,一般', 'label': 1, 'qid': '', 'input_ids': [1, 352, 790, 1252, 409, 283, 509, 5, 250, 196, 113, 10, 58, 518, 4, 9, 128, 70, 1495, 1855, 339, 293, 45, 302, 233, 554, 4, 544, 637, 1134, 774, 6, 494, 2068, 6, 278, 191, 6, 634, 99, 6, 2678, 144, 7, 149, 1573, 62, 12043, 661, 737, 371, 435, 7, 689, 4, 255, 201, 559, 407, 1308, 12043, 2275, 1110, 11, 19, 842, 5, 1207, 878, 4, 196, 198, 321, 96, 4, 16, 93, 291, 464, 1099, 10, 692, 811, 12043, 392, 5, 748, 1134, 10, 213, 220, 5, 4, 201, 559, 723, 595, 12043, 231, 112, 1114, 4, 7, 689, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}\n"
+     ]
+    }
+   ],
+   "source": [
+    "max_len = 128\n",
+    "model_checkpoint = \"ernie-1.0-base-zh\"\n",
+    "tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)\n",
+    "def _process(data):\n",
+    "    data.update(tokenizer(\n",
+    "        data[\"text\"],\n",
+    "        max_length=max_len,\n",
+    "        padding=\"max_length\",\n",
+    "        truncation=True,\n",
+    "        return_attention_mask=True,\n",
+    "    ))\n",
+    "    return data\n",
+    "\n",
+    "train_dataset.map(_process, num_workers=5)\n",
+    "val_dataset.map(_process, num_workers=5)\n",
+    "test_dataset.map(_process, num_workers=5)\n",
+    "\n",
+    "print(train_dataset[0])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "得到数据集之后,我们便可以将数据集包裹在 ``PaddleDataLoader`` 中,用于之后的训练。``fastNLP`` 提供的 ``PaddleDataLoader`` 拓展了 ``paddle.io.DataLoader`` 的功能,详情可以查看相关的文档。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from fastNLP.core import PaddleDataLoader\n",
+    "import paddle.nn as nn\n",
+    "\n",
+    "train_dataloader = PaddleDataLoader(train_dataset, batch_size=32, shuffle=True)\n",
+    "val_dataloader = PaddleDataLoader(val_dataset, batch_size=32, shuffle=False)\n",
+    "test_dataloader = PaddleDataLoader(test_dataset, batch_size=1, shuffle=False)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 3. 模型训练:加载 ERNIE 预训练模型,使用 fastNLP 进行训练\n",
+    "\n",
+    "#### 3.1 使用 ERNIE 预训练模型\n",
+    "\n",
+    "为了实现文本分类,我们首先需要定义文本分类的模型。``paddlenlp.transformers`` 提供了模型 ``AutoModelForSequenceClassification``,我们可以利用它来加载不同权重的文本分类模型。在 ``fastNLP`` 中,我们可以定义 ``train_step`` 和 ``evaluate_step`` 函数来实现训练和验证过程中的不同行为。\n",
+    "\n",
+    "- ``train_step`` 函数在获得返回值 ``logits`` (大小为 ``(batch_size, num_labels)``)后计算交叉熵损失 ``CrossEntropyLoss``,然后将 ``loss`` 放在字典中返回。``fastNLP`` 也支持返回 ``dataclass`` 类型的训练结果,但二者都需要包含名为 **loss** 的键或成员。\n",
+    "- ``evaluate_step`` 函数在获得返回值 ``logits`` 后,将 ``logits`` 和标签 ``label`` 放在字典中返回。\n",
+    "\n",
+    "这两个函数的参数均为数据集中字典**键**的子集,``fastNLP`` 会自动进行参数匹配然后输入到模型中。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[2022-06-22 21:31:15,577] [    INFO]\u001b[0m - We are using  to load 'ernie-1.0-base-zh'.\u001b[0m\n",
+      "\u001b[32m[2022-06-22 21:31:15,580] [    INFO]\u001b[0m - Already cached /remote-home/shxing/.paddlenlp/models/ernie-1.0-base-zh/ernie_v1_chn_base.pdparams\u001b[0m\n"
+     ]
+    }
+   ],
+   "source": [
+    "import paddle.nn as nn\n",
+    "\n",
+    "class SeqClsModel(nn.Layer):\n",
+    "    def __init__(self, model_checkpoint, num_labels):\n",
+    "        super(SeqClsModel, self).__init__()\n",
+    "        self.model = AutoModelForSequenceClassification.from_pretrained(\n",
+    "            model_checkpoint,\n",
+    "            num_classes=num_labels,\n",
+    "        )\n",
+    "\n",
+    "    def forward(self, input_ids, attention_mask, token_type_ids):\n",
+    "        logits = self.model(input_ids, attention_mask=attention_mask, token_type_ids=token_type_ids)\n",
+    "        return logits\n",
+    "\n",
+    "    def train_step(self, input_ids, attention_mask, token_type_ids, label):\n",
+    "        logits = self(input_ids, attention_mask, token_type_ids)\n",
+    "        loss = nn.CrossEntropyLoss()(logits, label)\n",
+    "        return {\"loss\": loss}\n",
+    "\n",
+    "    def evaluate_step(self, input_ids, attention_mask, token_type_ids, label):\n",
+    "        logits = self(input_ids, attention_mask, token_type_ids)\n",
+    "        return {'pred': logits, 'target': label}\n",
+    "\n",
+    "model = SeqClsModel(model_checkpoint, num_labels=2)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 3.2 设置参数并使用 Trainer 开始训练\n",
+    "\n",
+    "现在我们可以着手使用 ``fastNLP.Trainer`` 进行训练了。\n",
+    "\n",
+    "首先,为了高效地训练 ``ERNIE`` 模型,我们最好为学习率指定一定的策略。``paddlenlp`` 提供的 ``LinearDecayWithWarmup`` 可以令学习率在一段时间内从 0 开始线性地增长(预热),然后再线性地衰减至 0 。在本篇教程中,我们将学习率设置为 ``5e-5``,预热时间为 ``0.1``,然后将得到的的 ``lr_scheduler`` 赋值给 ``AdamW`` 优化器。\n",
+    "\n",
+    "其次,我们还可以为 ``Trainer`` 指定多个 ``Callback`` 来在基础的训练过程之外进行额外的定制操作。在本篇教程中,我们使用的 ``Callback`` 有以下三种:\n",
+    "\n",
+    "- ``LRSchedCallback`` - 由于我们使用了 ``Scheduler``,因此需要将 ``lr_scheduler`` 传给该 ``Callback`` 以在训练中进行更新。\n",
+    "- ``LoadBestModelCallback`` - 该 ``Callback`` 会评估结果中的 ``'acc#accuracy'`` 值,保存训练中出现的正确率最高的模型,并在训练结束时加载到模型上,方便对模型进行测试和评估。\n",
+    "\n",
+    "在 ``Trainer`` 中,我们还可以设置 ``metrics`` 来衡量模型的表现。``Accuracy`` 能够根据传入的预测值和真实值计算出模型预测的正确率。还记得模型中 ``evaluate_step`` 函数的返回值吗?键 ``pred`` 和 ``target`` 分别为 ``Accuracy.update`` 的参数名,在验证过程中 ``fastNLP`` 会自动将键和参数名匹配从而计算出正确率,这也是我们规定模型需要返回字典类型数据的原因。\n",
+    "\n",
+    "``Accuracy`` 的返回值包含三个部分:``acc``、``total`` 和 ``correct``,分别代表 ``正确率``、 ``数据总数`` 和 ``预测正确的数目``,这让您能够直观地知晓训练中模型的变化,``LoadBestModelCallback`` 的参数 ``'acc#accuracy'`` 也正是代表了 ``accuracy`` 指标的 ``acc`` 结果。\n",
+    "\n",
+    "在设定好参数之后,调用 ``run`` 函数便可以进行训练和验证了。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
[21:31:16] INFO     Running evaluator sanity check for 2 batches.              trainer.py:631\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[21:31:16]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=4641;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=822054;file://../fastNLP/core/controllers/trainer.py#631\u001b\\\u001b[2m631\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:60 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m60\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.895833,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1075.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.895833\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1075.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:120 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m120\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.8975,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1077.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.8975\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1077.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:180 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m180\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.911667,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1094.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.911667\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1094.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:240 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m240\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.9225,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1107.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.9225\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1107.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:300 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m300\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.9275,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1113.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.9275\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1113.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:1, Batch:60 -----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m60\u001b[0m -----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.930833,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1117.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.930833\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1117.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:1, Batch:120 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m120\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.935833,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1123.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.935833\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1123.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:1, Batch:180 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m180\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.935833,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1123.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.935833\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1123.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:1, Batch:240 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m240\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.9375,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1125.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.9375\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1125.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:1, Batch:300 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m1\u001b[0m, Batch:\u001b[1;36m300\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"acc#accuracy\": 0.941667,\n",
+       "  \"total#accuracy\": 1200.0,\n",
+       "  \"correct#accuracy\": 1130.0\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"acc#accuracy\"\u001b[0m: \u001b[1;36m0.941667\u001b[0m,\n", + " \u001b[1;34m\"total#accuracy\"\u001b[0m: \u001b[1;36m1200.0\u001b[0m,\n", + " \u001b[1;34m\"correct#accuracy\"\u001b[0m: \u001b[1;36m1130.0\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
[21:34:28] INFO     Loading best model from fnlp-ernie/2022-0 load_best_model_callback.py:111\n",
+       "                    6-22-21_29_12_898095/best_so_far with                                    \n",
+       "                    acc#accuracy: 0.941667...                                                \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[21:34:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Loading best model from fnlp-ernie/\u001b[1;36m2022\u001b[0m-\u001b[1;36m0\u001b[0m \u001b]8;id=340364;file://../fastNLP/core/callbacks/load_best_model_callback.py\u001b\\\u001b[2mload_best_model_callback.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=763898;file://../fastNLP/core/callbacks/load_best_model_callback.py#111\u001b\\\u001b[2m111\u001b[0m\u001b]8;;\u001b\\\n", + "\u001b[2;36m \u001b[0m \u001b[1;36m6\u001b[0m-\u001b[1;36m22\u001b[0m-21_29_12_898095/best_so_far with \u001b[2m \u001b[0m\n", + "\u001b[2;36m \u001b[0m acc#accuracy: \u001b[1;36m0.941667\u001b[0m\u001b[33m...\u001b[0m \u001b[2m \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
[21:34:34] INFO     Deleting fnlp-ernie/2022-06-22-21_29_12_8 load_best_model_callback.py:131\n",
+       "                    98095/best_so_far...                                                     \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[21:34:34]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Deleting fnlp-ernie/\u001b[1;36m2022\u001b[0m-\u001b[1;36m06\u001b[0m-\u001b[1;36m22\u001b[0m-21_29_12_8 \u001b]8;id=430330;file://../fastNLP/core/callbacks/load_best_model_callback.py\u001b\\\u001b[2mload_best_model_callback.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=508566;file://../fastNLP/core/callbacks/load_best_model_callback.py#131\u001b\\\u001b[2m131\u001b[0m\u001b]8;;\u001b\\\n", + "\u001b[2;36m \u001b[0m 98095/best_so_far\u001b[33m...\u001b[0m \u001b[2m \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from fastNLP import LRSchedCallback, LoadBestModelCallback\n", + "from fastNLP import Trainer, Accuracy\n", + "from paddlenlp.transformers import LinearDecayWithWarmup\n", + "\n", + "n_epochs = 2\n", + "num_training_steps = len(train_dataloader) * n_epochs\n", + "lr_scheduler = LinearDecayWithWarmup(5e-5, num_training_steps, 0.1)\n", + "optimizer = paddle.optimizer.AdamW(\n", + " learning_rate=lr_scheduler,\n", + " parameters=model.parameters(),\n", + ")\n", + "callbacks = [\n", + " LRSchedCallback(lr_scheduler, step_on=\"batch\"),\n", + " LoadBestModelCallback(\"acc#accuracy\", larger_better=True, save_folder=\"fnlp-ernie\"),\n", + "]\n", + "trainer = Trainer(\n", + " model=model,\n", + " driver=\"paddle\",\n", + " optimizers=optimizer,\n", + " device=0,\n", + " n_epochs=n_epochs,\n", + " train_dataloader=train_dataloader,\n", + " evaluate_dataloaders=val_dataloader,\n", + " evaluate_every=60,\n", + " metrics={\"accuracy\": Accuracy()},\n", + " callbacks=callbacks,\n", + ")\n", + "trainer.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.3 测试和评估\n", + "\n", + "现在我们已经得到了一个表现良好的 ``ERNIE`` 模型,接下来可以在测试集上测试模型的效果了。``fastNLP.Evaluator`` 提供了定制函数的功能。我们以 ``test_dataloader`` 初始化一个 ``Evaluator``,然后将写好的测试函数 ``test_batch_step_fn`` 传给参数 ``evaluate_batch_step_fn``,``Evaluate`` 在对每个 batch 进行评估时就会调用我们自定义的 ``test_batch_step_fn`` 函数而不是 ``evaluate_step`` 函数。在这里,我们仅测试 5 条数据并输出文本和对应的标签。" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
text: ['这个宾馆比较陈旧了,特价的房间也很一般。总体来说一般']\n",
+       "
\n" + ], + "text/plain": [ + "text: ['这个宾馆比较陈旧了,特价的房间也很一般。总体来说一般']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
labels: 0\n",
+       "
\n" + ], + "text/plain": [ + "labels: 0\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
text: ['怀着十分激动的心情放映,可是看着看着发现,在放映完毕后,出现一集米老鼠的动画片!开始\n",
+       "还怀疑是不是赠送的个别现象,可是后来发现每张DVD后面都有!真不知道生产商怎么想的,我想看的是猫\n",
+       "和老鼠,不是米老鼠!如果厂家是想赠送的话,那就全套米老鼠和唐老鸭都赠送,只在每张DVD后面添加一\n",
+       "集算什么??简直是画蛇添足!!']\n",
+       "
\n" + ], + "text/plain": [ + "text: ['怀着十分激动的心情放映,可是看着看着发现,在放映完毕后,出现一集米老鼠的动画片!开始\n", + "还怀疑是不是赠送的个别现象,可是后来发现每张DVD后面都有!真不知道生产商怎么想的,我想看的是猫\n", + "和老鼠,不是米老鼠!如果厂家是想赠送的话,那就全套米老鼠和唐老鸭都赠送,只在每张DVD后面添加一\n", + "集算什么??简直是画蛇添足!!']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
labels: 0\n",
+       "
\n" + ], + "text/plain": [ + "labels: 0\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
text: ['还稍微重了点,可能是硬盘大的原故,还要再轻半斤就好了。其他要进一步验证。贴的几种膜气\n",
+       "泡较多,用不了多久就要更换了,屏幕膜稍好点,但比没有要强多了。建议配赠几张膜让用用户自己贴。'\n",
+       "]\n",
+       "
\n" + ], + "text/plain": [ + "text: ['还稍微重了点,可能是硬盘大的原故,还要再轻半斤就好了。其他要进一步验证。贴的几种膜气\n", + "泡较多,用不了多久就要更换了,屏幕膜稍好点,但比没有要强多了。建议配赠几张膜让用用户自己贴。'\n", + "]\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
labels: 0\n",
+       "
\n" + ], + "text/plain": [ + "labels: 0\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
text: ['交通方便;环境很好;服务态度很好 房间较小']\n",
+       "
\n" + ], + "text/plain": [ + "text: ['交通方便;环境很好;服务态度很好 房间较小']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
labels: 1\n",
+       "
\n" + ], + "text/plain": [ + "labels: 1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
text: ['不错,作者的观点很颠覆目前中国父母的教育方式,其实古人们对于教育已经有了很系统的体系\n",
+       "了,可是现在的父母以及祖父母们更多的娇惯纵容孩子,放眼看去自私的孩子是大多数,父母觉得自己的\n",
+       "孩子在外面只要不吃亏就是好事,完全把古人几千年总结的教育古训抛在的九霄云外。所以推荐准妈妈们\n",
+       "可以在等待宝宝降临的时候,好好学习一下,怎么把孩子教育成一个有爱心、有责任心、宽容、大度的人\n",
+       "。']\n",
+       "
\n" + ], + "text/plain": [ + "text: ['不错,作者的观点很颠覆目前中国父母的教育方式,其实古人们对于教育已经有了很系统的体系\n", + "了,可是现在的父母以及祖父母们更多的娇惯纵容孩子,放眼看去自私的孩子是大多数,父母觉得自己的\n", + "孩子在外面只要不吃亏就是好事,完全把古人几千年总结的教育古训抛在的九霄云外。所以推荐准妈妈们\n", + "可以在等待宝宝降临的时候,好好学习一下,怎么把孩子教育成一个有爱心、有责任心、宽容、大度的人\n", + "。']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
labels: 1\n",
+       "
\n" + ], + "text/plain": [ + "labels: 1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{}"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from fastNLP import Evaluator\n",
+    "def test_batch_step_fn(evaluator, batch):\n",
+    "    input_ids = batch[\"input_ids\"]\n",
+    "    attention_mask = batch[\"attention_mask\"]\n",
+    "    token_type_ids = batch[\"token_type_ids\"]\n",
+    "    logits = model(input_ids, attention_mask, token_type_ids)\n",
+    "    predict = logits.argmax().item()\n",
+    "    print(\"text:\", batch['text'])\n",
+    "    print(\"labels:\", predict)\n",
+    "\n",
+    "evaluator = Evaluator(\n",
+    "    model=model,\n",
+    "    dataloaders=test_dataloader,\n",
+    "    driver=\"paddle\",\n",
+    "    device=0,\n",
+    "    evaluate_batch_step_fn=test_batch_step_fn,\n",
+    ")\n",
+    "evaluator.run(5)    "
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3.7.13 ('fnlp-paddle')",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.13"
+  },
+  "orig_nbformat": 4,
+  "vscode": {
+   "interpreter": {
+    "hash": "31f2d9d3efc23c441973d7c4273acfea8b132b6a578f002629b6b44b8f65e720"
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/docs/source/tutorials/fastnlp_tutorial_paddle_e2.ipynb b/docs/source/tutorials/fastnlp_tutorial_paddle_e2.ipynb
new file mode 100644
index 00000000..439d7f9f
--- /dev/null
+++ b/docs/source/tutorials/fastnlp_tutorial_paddle_e2.ipynb
@@ -0,0 +1,1510 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# E4. 使用 paddlenlp 和 fastNLP 训练中文阅读理解任务\n",
+    "\n",
+    "本篇教程属于 **fastNLP v1.0 tutorial 的 paddle examples 系列**。在本篇教程中,我们将为您展示如何在 `fastNLP` 中通过自定义 `Metric` 和 损失函数来完成进阶的问答任务。\n",
+    "\n",
+    "1. 基础介绍:自然语言处理中的阅读理解任务\n",
+    "\n",
+    "2. 准备工作:加载 `DuReader-robust` 数据集,并使用 `tokenizer` 处理数据\n",
+    "\n",
+    "3. 模型训练:自己定义评测用的 `Metric` 实现更加自由的任务评测"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 1. 基础介绍:自然语言处理中的阅读理解任务\n",
+    "\n",
+    "阅读理解任务,顾名思义,就是给出一段文字,然后让模型理解这段文字所含的语义。大部分机器阅读理解任务都采用问答式测评,即设计与文章内容相关的自然语言式问题,让模型理解问题并根据文章作答。与文本分类任务不同的是,在阅读理解任务中我们有时需要需要输入“一对”句子,分别代表问题和上下文;答案的格式也分为多种:\n",
+    "\n",
+    "- 多项选择:让模型从多个答案选项中选出正确答案\n",
+    "- 区间答案:答案为上下文的一段子句,需要模型给出答案的起始位置\n",
+    "- 自由回答:不做限制,让模型自行生成答案\n",
+    "- 完形填空:在原文中挖空部分关键词,让模型补全;这类答案往往不需要问题\n",
+    "\n",
+    "如果您对 `transformers` 有所了解的话,其中的 `ModelForQuestionAnswering` 系列模型就可以用于这项任务。阅读理解模型的泛用性是衡量该技术能否在实际应用中大规模落地的重要指标之一,随着当前技术的进步,许多模型虽然能够在一些测试集上取得较好的性能,但在实际应用中,这些模型仍然难以让人满意。在本篇教程中,我们将会为您展示如何训练一个问答模型。\n",
+    "\n",
+    "在这一领域,`SQuAD` 数据集是一个影响深远的数据集。它的全称是斯坦福问答数据集(Stanford Question Answering Dataset),每条数据包含 `(问题,上下文,答案)` 三部分,规模大(约十万条,2.0又新增了五万条),在提出之后很快成为训练问答任务的经典数据集之一。`SQuAD` 数据集有两个指标来衡量模型的表现:`EM`(Exact Match,精确匹配)和 `F1`(模糊匹配)。前者反应了模型给出的答案中有多少和正确答案完全一致,后者则反应了模型给出的答案中与正确答案重叠的部分,均为越高越好。"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### 2. 准备工作:加载 DuReader-robust 数据集,并使用 tokenizer 处理数据"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/remote-home/shxing/anaconda3/envs/fnlp-paddle/lib/python3.7/site-packages/tqdm/auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
+      "  from .autonotebook import tqdm as notebook_tqdm\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "2.3.3\n"
+     ]
+    }
+   ],
+   "source": [
+    "import sys\n",
+    "sys.path.append(\"../\")\n",
+    "import paddle\n",
+    "import paddlenlp\n",
+    "\n",
+    "print(paddlenlp.__version__)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "在数据集方面,我们选用 `DuReader-robust` 中文数据集作为训练数据。它是一种抽取式问答数据集,采用 `SQuAD` 数据格式,能够评估真实应用场景下模型的泛用性。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Reusing dataset dureader_robust (/remote-home/shxing/.cache/huggingface/datasets/dureader_robust/plain_text/1.0.0/d462ecadc8c010cee20f57632f1413f272867cd802a91a602df48c7d34eb0c27)\n",
+      "Reusing dataset dureader_robust (/remote-home/shxing/.cache/huggingface/datasets/dureader_robust/plain_text/1.0.0/d462ecadc8c010cee20f57632f1413f272867cd802a91a602df48c7d34eb0c27)\n",
+      "\u001b[32m[2022-06-27 19:22:46,998] [    INFO]\u001b[0m - Already cached /remote-home/shxing/.paddlenlp/models/ernie-1.0-base-zh/vocab.txt\u001b[0m\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'id': '0a25cb4bc1ab6f474c699884e04601e4', 'title': '', 'context': '第35集雪见缓缓张开眼睛,景天又惊又喜之际,长卿和紫萱的仙船驶至,见众人无恙,也十分高兴。众人登船,用尽合力把自身的真气和水分输给她。雪见终于醒过来了,但却一脸木然,全无反应。众人向常胤求助,却发现人世界竟没有雪见的身世纪录。长卿询问清微的身世,清微语带双关说一切上了天界便有答案。长卿驾驶仙船,众人决定立马动身,往天界而去。众人来到一荒山,长卿指出,魔界和天界相连。由魔界进入通过神魔之井,便可登天。众人至魔界入口,仿若一黑色的蝙蝠洞,但始终无法进入。后来花楹发现只要有翅膀便能飞入。于是景天等人打下许多乌鸦,模仿重楼的翅膀,制作数对翅膀状巨物。刚佩戴在身,便被吸入洞口。众人摔落在地,抬头发现魔界守卫。景天和众魔套交情,自称和魔尊重楼相熟,众魔不理,打了起来。', 'question': '仙剑奇侠传3第几集上天界', 'answers': {'text': ['第35集'], 'answer_start': [0]}}\n",
+      "{'id': '7de192d6adf7d60ba73ba25cf590cc1e', 'title': '', 'context': '选择燃气热水器时,一定要关注这几个问题:1、出水稳定性要好,不能出现忽热忽冷的现象2、快速到达设定的需求水温3、操作要智能、方便4、安全性要好,要装有安全报警装置 市场上燃气热水器品牌众多,购买时还需多加对比和仔细鉴别。方太今年主打的磁化恒温热水器在使用体验方面做了全面升级:9秒速热,可快速进入洗浴模式;水温持久稳定,不会出现忽热忽冷的现象,并通过水量伺服技术将出水温度精确控制在±0.5℃,可满足家里宝贝敏感肌肤洗护需求;配备CO和CH4双气体报警装置更安全(市场上一般多为CO单气体报警)。另外,这款热水器还有智能WIFI互联功能,只需下载个手机APP即可用手机远程操作热水器,实现精准调节水温,满足家人多样化的洗浴需求。当然方太的磁化恒温系列主要的是增加磁化功能,可以有效吸附水中的铁锈、铁屑等微小杂质,防止细菌滋生,使沐浴水质更洁净,长期使用磁化水沐浴更利于身体健康。', 'question': '燃气热水器哪个牌子好', 'answers': {'text': ['方太'], 'answer_start': [110]}}\n",
+      "{'id': 'b9e74d4b9228399b03701d1fe6d52940', 'title': '', 'context': '迈克尔.乔丹在NBA打了15个赛季。他在84年进入nba,期间在1993年10月6日第一次退役改打棒球,95年3月18日重新回归,在99年1月13日第二次退役,后于2001年10月31日复出,在03年最终退役。迈克尔·乔丹(Michael Jordan),1963年2月17日生于纽约布鲁克林,美国著名篮球运动员,司职得分后卫,历史上最伟大的篮球运动员。1984年的NBA选秀大会,乔丹在首轮第3顺位被芝加哥公牛队选中。 1986-87赛季,乔丹场均得到37.1分,首次获得分王称号。1990-91赛季,乔丹连夺常规赛MVP和总决赛MVP称号,率领芝加哥公牛首次夺得NBA总冠军。 1997-98赛季,乔丹获得个人职业生涯第10个得分王,并率领公牛队第六次夺得总冠军。2009年9月11日,乔丹正式入选NBA名人堂。', 'question': '乔丹打了多少个赛季', 'answers': {'text': ['15个'], 'answer_start': [12]}}\n",
+      "训练集大小: 14520\n",
+      "验证集大小: 1417\n"
+     ]
+    }
+   ],
+   "source": [
+    "from paddlenlp.datasets import load_dataset\n",
+    "train_dataset = load_dataset(\"PaddlePaddle/dureader_robust\", splits=\"train\")\n",
+    "val_dataset = load_dataset(\"PaddlePaddle/dureader_robust\", splits=\"validation\")\n",
+    "for i in range(3):\n",
+    "    print(train_dataset[i])\n",
+    "print(\"训练集大小:\", len(train_dataset))\n",
+    "print(\"验证集大小:\", len(val_dataset))\n",
+    "\n",
+    "MODEL_NAME = \"ernie-1.0-base-zh\"\n",
+    "from paddlenlp.transformers import ErnieTokenizer\n",
+    "tokenizer =ErnieTokenizer.from_pretrained(MODEL_NAME)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 2.1 处理训练集\n",
+    "\n",
+    "对于阅读理解任务,数据处理的方式较为麻烦。接下来我们会为您详细讲解处理函数 `_process_train` 的功能,同时也将通过实践展示关于 `tokenizer` 的更多功能,让您更加深入地了解自然语言处理任务。首先让我们向 `tokenizer` 输入一条数据(以列表的形式):"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "2\n",
+      "dict_keys(['offset_mapping', 'input_ids', 'token_type_ids', 'overflow_to_sample'])\n"
+     ]
+    }
+   ],
+   "source": [
+    "result = tokenizer(\n",
+    "    [train_dataset[0][\"question\"]],\n",
+    "    [train_dataset[0][\"context\"]],\n",
+    "    stride=128,\n",
+    "    max_length=256,\n",
+    "    padding=\"max_length\",\n",
+    "    return_dict=False\n",
+    ")\n",
+    "\n",
+    "print(len(result))\n",
+    "print(result[0].keys())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "首先不难理解的是,模型必须要同时接受问题(`question`)和上下文(`context`)才能够进行阅读理解,因此我们需要将二者同时进行分词(`tokenize`)。所幸,`Tokenizer` 提供了这一功能,当我们调用 `tokenizer` 的时候,其第一个参数名为 `text`,第二个参数名为 `text_pair`,这使得我们可以同时对一对文本进行分词。同时,`tokenizer` 还需要标记出一条数据中哪些属于问题,哪些属于上下文,这一功能则由 `token_type_ids` 完成。`token_type_ids` 会将输入的第一个文本(问题)标记为 `0`,第二个文本(上下文)标记为 `1`,这样模型在训练时便可以将问题和上下文区分开来:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1, 1034, 1189, 734, 2003, 241, 284, 131, 553, 271, 28, 125, 280, 2, 131, 1773, 271, 1097, 373, 1427, 1427, 501, 88, 662, 1906, 4, 561, 125, 311, 1168, 311, 692, 46, 430, 4, 84, 2073, 14, 1264, 3967, 5, 1034, 1020, 1829, 268, 4, 373, 539, 8, 154, 5210, 4, 105, 167, 59, 69, 685, 12043, 539, 8, 883, 1020, 4, 29, 720, 95, 90, 427, 67, 262, 5, 384, 266, 14, 101, 59, 789, 416, 237, 12043, 1097, 373, 616, 37, 1519, 93, 61, 15, 4, 255, 535, 7, 1529, 619, 187, 4, 62, 154, 451, 149, 12043, 539, 8, 253, 223, 3679, 323, 523, 4, 535, 34, 87, 8, 203, 280, 1186, 340, 9, 1097, 373, 5, 262, 203, 623, 704, 12043, 84, 2073, 1137, 358, 334, 702, 5, 262, 203, 4, 334, 702, 405, 360, 653, 129, 178, 7, 568, 28, 15, 125, 280, 518, 9, 1179, 487, 12043, 84, 2073, 1621, 1829, 1034, 1020, 4, 539, 8, 448, 91, 202, 466, 70, 262, 4, 638, 125, 280, 83, 299, 12043, 539, 8, 61, 45, 7, 1537, 176, 4, 84, 2073, 288, 39, 4, 889, 280, 14, 125, 280, 156, 538, 12043, 190, 889, 280, 71, 109, 124, 93, 292, 889, 46, 1248, 4, 518, 48, 883, 125, 12043, 539, 8, 268, 889, 280, 109, 270, 4, 1586, 845, 7, 669, 199, 5, 3964, 3740, 1084, 4, 255, 440, 616, 154, 72, 71, 109, 12043, 49, 61, 283, 3591, 34, 87, 297, 41, 9, 1993, 2602, 518, 52, 706, 109, 2]\n",
+      "['[CLS]', '仙', '剑', '奇', '侠', '传', '3', '第', '几', '集', '上', '天', '界', '[SEP]', '第', '35', '集', '雪', '见', '缓', '缓', '张', '开', '眼', '睛', ',', '景', '天', '又', '惊', '又', '喜', '之', '际', ',', '长', '卿', '和', '紫', '萱', '的', '仙', '船', '驶', '至', ',', '见', '众', '人', '无', '恙', ',', '也', '十', '分', '高', '兴', '。', '众', '人', '登', '船', ',', '用', '尽', '合', '力', '把', '自', '身', '的', '真', '气', '和', '水', '分', '输', '给', '她', '。', '雪', '见', '终', '于', '醒', '过', '来', '了', ',', '但', '却', '一', '脸', '木', '然', ',', '全', '无', '反', '应', '。', '众', '人', '向', '常', '胤', '求', '助', ',', '却', '发', '现', '人', '世', '界', '竟', '没', '有', '雪', '见', '的', '身', '世', '纪', '录', '。', '长', '卿', '询', '问', '清', '微', '的', '身', '世', ',', '清', '微', '语', '带', '双', '关', '说', '一', '切', '上', '了', '天', '界', '便', '有', '答', '案', '。', '长', '卿', '驾', '驶', '仙', '船', ',', '众', '人', '决', '定', '立', '马', '动', '身', ',', '往', '天', '界', '而', '去', '。', '众', '人', '来', '到', '一', '荒', '山', ',', '长', '卿', '指', '出', ',', '魔', '界', '和', '天', '界', '相', '连', '。', '由', '魔', '界', '进', '入', '通', '过', '神', '魔', '之', '井', ',', '便', '可', '登', '天', '。', '众', '人', '至', '魔', '界', '入', '口', ',', '仿', '若', '一', '黑', '色', '的', '蝙', '蝠', '洞', ',', '但', '始', '终', '无', '法', '进', '入', '。', '后', '来', '花', '楹', '发', '现', '只', '要', '有', '翅', '膀', '便', '能', '飞', '入', '[SEP]']\n",
+      "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(result[0][\"input_ids\"])\n",
+    "print(tokenizer.convert_ids_to_tokens(result[0][\"input_ids\"]))\n",
+    "print(result[0][\"token_type_ids\"])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "根据上面的输出我们可以看出,`tokenizer` 会将数据开头用 `[CLS]` 标记,用 `[SEP]` 来分割句子。同时,根据 `token_type_ids` 得到的 0、1 串,我们也很容易将问题和上下文区分开。顺带一提,如果一条数据进行了 `padding`,那么这部分会被标记为 `0` 。\n",
+    "\n",
+    "在输出的 `keys` 中还有一项名为 `offset_mapping` 的键。该项数据能够表示分词后的每个 `token` 在原文中对应文字或词语的位置。比如我们可以像下面这样将数据打印出来:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[(0, 0), (0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11), (11, 12), (0, 0), (0, 1), (1, 3), (3, 4), (4, 5), (5, 6), (6, 7)]\n",
+      "[1, 1034, 1189, 734, 2003, 241, 284, 131, 553, 271, 28, 125, 280, 2, 131, 1773, 271, 1097, 373, 1427]\n",
+      "['[CLS]', '仙', '剑', '奇', '侠', '传', '3', '第', '几', '集', '上', '天', '界', '[SEP]', '第', '35', '集', '雪', '见', '缓']\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(result[0][\"offset_mapping\"][:20])\n",
+    "print(result[0][\"input_ids\"][:20])\n",
+    "print(tokenizer.convert_ids_to_tokens(result[0][\"input_ids\"])[:20])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "`[CLS]` 由于是 `tokenizer` 自己添加进去用于标记数据的 `token`,因此它在原文中找不到任何对应的词语,所以给出的位置范围就是 `(0, 0)`;第二个 `token` 对应第一个 `“仙”` 字,因此映射的位置就是 `(0, 1)`;同理,后面的 `[SEP]` 也不对应任何文字,映射的位置为 `(0, 0)`;而接下来的 `token` 对应 **上下文** 中的第一个字 `“第”`,映射出的位置为 `(0, 1)`;再后面的 `token` 对应原文中的两个字符 `35`,因此其位置映射为 `(1, 3)` 。通过这种手段,我们可以更方便地获取 `token` 与原文的对应关系。\n",
+    "\n",
+    "最后,您也许会注意到我们获取的 `result` 长度为 2 。这是文本在分词后长度超过了 `max_length` 256 ,`tokenizer` 将数据分成了两部分所致。在阅读理解任务中,我们不可能像文本分类那样轻易地将一条数据截断,因为答案很可能就出现在后面被丢弃的那部分数据中,因此,我们需要保留所有的数据(当然,您也可以直接丢弃这些超长的数据)。`overflow_to_sample` 则可以标识当前数据在原数据的索引:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[CLS]仙剑奇侠传3第几集上天界[SEP]第35集雪见缓缓张开眼睛,景天又惊又喜之际,长卿和紫萱的仙船驶至,见众人无恙,也十分高兴。众人登船,用尽合力把自身的真气和水分输给她。雪见终于醒过来了,但却一脸木然,全无反应。众人向常胤求助,却发现人世界竟没有雪见的身世纪录。长卿询问清微的身世,清微语带双关说一切上了天界便有答案。长卿驾驶仙船,众人决定立马动身,往天界而去。众人来到一荒山,长卿指出,魔界和天界相连。由魔界进入通过神魔之井,便可登天。众人至魔界入口,仿若一黑色的蝙蝠洞,但始终无法进入。后来花楹发现只要有翅膀便能飞入[SEP]\n",
+      "overflow_to_sample:  0\n",
+      "[CLS]仙剑奇侠传3第几集上天界[SEP]说一切上了天界便有答案。长卿驾驶仙船,众人决定立马动身,往天界而去。众人来到一荒山,长卿指出,魔界和天界相连。由魔界进入通过神魔之井,便可登天。众人至魔界入口,仿若一黑色的蝙蝠洞,但始终无法进入。后来花楹发现只要有翅膀便能飞入。于是景天等人打下许多乌鸦,模仿重楼的翅膀,制作数对翅膀状巨物。刚佩戴在身,便被吸入洞口。众人摔落在地,抬头发现魔界守卫。景天和众魔套交情,自称和魔尊重楼相熟,众魔不理,打了起来。[SEP][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD]\n",
+      "overflow_to_sample:  0\n"
+     ]
+    }
+   ],
+   "source": [
+    "for res in result:\n",
+    "    tokens = tokenizer.convert_ids_to_tokens(res[\"input_ids\"])\n",
+    "    print(\"\".join(tokens))\n",
+    "    print(\"overflow_to_sample: \", res[\"overflow_to_sample\"])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "将两条数据均输出之后可以看到,它们都出自我们传入的数据,并且存在一部分重合。`tokenizer` 的 `stride` 参数可以设置重合部分的长度,这也可以帮助模型识别被分割开的两条数据;`overflow_to_sample` 的 `0` 则代表它们来自于第 `0` 条数据。\n",
+    "\n",
+    "基于以上信息,我们处理训练集的思路如下:\n",
+    "\n",
+    "1. 通过 `overflow_to_sample` 来获取原来的数据\n",
+    "2. 通过原数据的 `answers` 找到答案的起始位置\n",
+    "3. 通过 `offset_mapping` 给出的映射关系在分词处理后的数据中找到答案的起始位置,分别记录在 `start_pos` 和 `end_pos` 中;如果没有找到答案(比如答案被截断了),那么答案的起始位置就被标记为 `[CLS]` 的位置。\n",
+    "\n",
+    "这样 `_process_train` 函数就呼之欲出了,我们调用 `train_dataset.map` 函数,并将 `batched` 参数设置为 `True` ,将所有数据批量地进行更新。有一点需要注意的是,**在处理过后数据量会增加**。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'offset_mapping': [(0, 0), (0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11), (11, 12), (0, 0), (0, 1), (1, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11), (11, 12), (12, 13), (13, 14), (14, 15), (15, 16), (16, 17), (17, 18), (18, 19), (19, 20), (20, 21), (21, 22), (22, 23), (23, 24), (24, 25), (25, 26), (26, 27), (27, 28), (28, 29), (29, 30), (30, 31), (31, 32), (32, 33), (33, 34), (34, 35), (35, 36), (36, 37), (37, 38), (38, 39), (39, 40), (40, 41), (41, 42), (42, 43), (43, 44), (44, 45), (45, 46), (46, 47), (47, 48), (48, 49), (49, 50), (50, 51), (51, 52), (52, 53), (53, 54), (54, 55), (55, 56), (56, 57), (57, 58), (58, 59), (59, 60), (60, 61), (61, 62), (62, 63), (63, 64), (64, 65), (65, 66), (66, 67), (67, 68), (68, 69), (69, 70), (70, 71), (71, 72), (72, 73), (73, 74), (74, 75), (75, 76), (76, 77), (77, 78), (78, 79), (79, 80), (80, 81), (81, 82), (82, 83), (83, 84), (84, 85), (85, 86), (86, 87), (87, 88), (88, 89), (89, 90), (90, 91), (91, 92), (92, 93), (93, 94), (94, 95), (95, 96), (96, 97), (97, 98), (98, 99), (99, 100), (100, 101), (101, 102), (102, 103), (103, 104), (104, 105), (105, 106), (106, 107), (107, 108), (108, 109), (109, 110), (110, 111), (111, 112), (112, 113), (113, 114), (114, 115), (115, 116), (116, 117), (117, 118), (118, 119), (119, 120), (120, 121), (121, 122), (122, 123), (123, 124), (124, 125), (125, 126), (126, 127), (127, 128), (128, 129), (129, 130), (130, 131), (131, 132), (132, 133), (133, 134), (134, 135), (135, 136), (136, 137), (137, 138), (138, 139), (139, 140), (140, 141), (141, 142), (142, 143), (143, 144), (144, 145), (145, 146), (146, 147), (147, 148), (148, 149), (149, 150), (150, 151), (151, 152), (152, 153), (153, 154), (154, 155), (155, 156), (156, 157), (157, 158), (158, 159), (159, 160), (160, 161), (161, 162), (162, 163), (163, 164), (164, 165), (165, 166), (166, 167), (167, 168), (168, 169), (169, 170), (170, 171), (171, 172), (172, 173), (173, 174), (174, 175), (175, 176), (176, 177), (177, 178), (178, 179), (179, 180), (180, 181), (181, 182), (182, 183), (183, 184), (184, 185), (185, 186), (186, 187), (187, 188), (188, 189), (189, 190), (190, 191), (191, 192), (192, 193), (193, 194), (194, 195), (195, 196), (196, 197), (197, 198), (198, 199), (199, 200), (200, 201), (201, 202), (202, 203), (203, 204), (204, 205), (205, 206), (206, 207), (207, 208), (208, 209), (209, 210), (210, 211), (211, 212), (212, 213), (213, 214), (214, 215), (215, 216), (216, 217), (217, 218), (218, 219), (219, 220), (220, 221), (221, 222), (222, 223), (223, 224), (224, 225), (225, 226), (226, 227), (227, 228), (228, 229), (229, 230), (230, 231), (231, 232), (232, 233), (233, 234), (234, 235), (235, 236), (236, 237), (237, 238), (238, 239), (239, 240), (240, 241), (241, 242), (0, 0)], 'input_ids': [1, 1034, 1189, 734, 2003, 241, 284, 131, 553, 271, 28, 125, 280, 2, 131, 1773, 271, 1097, 373, 1427, 1427, 501, 88, 662, 1906, 4, 561, 125, 311, 1168, 311, 692, 46, 430, 4, 84, 2073, 14, 1264, 3967, 5, 1034, 1020, 1829, 268, 4, 373, 539, 8, 154, 5210, 4, 105, 167, 59, 69, 685, 12043, 539, 8, 883, 1020, 4, 29, 720, 95, 90, 427, 67, 262, 5, 384, 266, 14, 101, 59, 789, 416, 237, 12043, 1097, 373, 616, 37, 1519, 93, 61, 15, 4, 255, 535, 7, 1529, 619, 187, 4, 62, 154, 451, 149, 12043, 539, 8, 253, 223, 3679, 323, 523, 4, 535, 34, 87, 8, 203, 280, 1186, 340, 9, 1097, 373, 5, 262, 203, 623, 704, 12043, 84, 2073, 1137, 358, 334, 702, 5, 262, 203, 4, 334, 702, 405, 360, 653, 129, 178, 7, 568, 28, 15, 125, 280, 518, 9, 1179, 487, 12043, 84, 2073, 1621, 1829, 1034, 1020, 4, 539, 8, 448, 91, 202, 466, 70, 262, 4, 638, 125, 280, 83, 299, 12043, 539, 8, 61, 45, 7, 1537, 176, 4, 84, 2073, 288, 39, 4, 889, 280, 14, 125, 280, 156, 538, 12043, 190, 889, 280, 71, 109, 124, 93, 292, 889, 46, 1248, 4, 518, 48, 883, 125, 12043, 539, 8, 268, 889, 280, 109, 270, 4, 1586, 845, 7, 669, 199, 5, 3964, 3740, 1084, 4, 255, 440, 616, 154, 72, 71, 109, 12043, 49, 61, 283, 3591, 34, 87, 297, 41, 9, 1993, 2602, 518, 52, 706, 109, 2], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 'overflow_to_sample': 0, 'start_pos': 14, 'end_pos': 16}\n",
+      "处理后的训练集大小: 26198\n"
+     ]
+    }
+   ],
+   "source": [
+    "max_length = 256\n",
+    "doc_stride = 128\n",
+    "def _process_train(data):\n",
+    "\n",
+    "    contexts = [data[i][\"context\"] for i in range(len(data))]\n",
+    "    questions = [data[i][\"question\"] for i in range(len(data))]\n",
+    "\n",
+    "    tokenized_data_list = tokenizer(\n",
+    "        questions,\n",
+    "        contexts,\n",
+    "        stride=doc_stride,\n",
+    "        max_length=max_length,\n",
+    "        padding=\"max_length\",\n",
+    "        return_dict=False\n",
+    "    )\n",
+    "\n",
+    "    for i, tokenized_data in enumerate(tokenized_data_list):\n",
+    "        # 获取 [CLS] 对应的位置\n",
+    "        input_ids = tokenized_data[\"input_ids\"]\n",
+    "        cls_index = input_ids.index(tokenizer.cls_token_id)\n",
+    "\n",
+    "        # 在 tokenize 的过程中,汉字和 token 在位置上并非一一对应的\n",
+    "        # 而 offset mapping 记录了每个 token 在原文中对应的起始位置\n",
+    "        offsets = tokenized_data[\"offset_mapping\"]\n",
+    "        # token_type_ids 记录了一条数据中哪些是问题,哪些是上下文\n",
+    "        token_type_ids = tokenized_data[\"token_type_ids\"]\n",
+    "\n",
+    "        # 一条数据可能因为长度过长而在 tokenized_data 中存在多个结果\n",
+    "        # overflow_to_sample 表示了当前 tokenize_example 属于 data 中的哪一条数据\n",
+    "        sample_index = tokenized_data[\"overflow_to_sample\"]\n",
+    "        answers = data[sample_index][\"answers\"]\n",
+    "\n",
+    "        # answers 和 answer_starts 均为长度为 1 的 list\n",
+    "        # 我们可以计算出答案的结束位置\n",
+    "        start_char = answers[\"answer_start\"][0]\n",
+    "        end_char = start_char + len(answers[\"text\"][0])\n",
+    "\n",
+    "        token_start_index = 0\n",
+    "        while token_type_ids[token_start_index] != 1:\n",
+    "            token_start_index += 1\n",
+    "\n",
+    "        token_end_index = len(input_ids) - 1\n",
+    "        while token_type_ids[token_end_index] != 1:\n",
+    "            token_end_index -= 1\n",
+    "        # 分词后一条数据的结尾一定是 [SEP],因此还需要减一\n",
+    "        token_end_index -= 1\n",
+    "\n",
+    "        if not (offsets[token_start_index][0] <= start_char and\n",
+    "                offsets[token_end_index][1] >= end_char):\n",
+    "            # 如果答案不在这条数据中,则将答案位置标记为 [CLS] 的位置\n",
+    "            tokenized_data_list[i][\"start_pos\"] = cls_index\n",
+    "            tokenized_data_list[i][\"end_pos\"] = cls_index\n",
+    "        else:\n",
+    "            # 否则,我们可以找到答案对应的 token 的起始位置,记录在 start_pos 和 end_pos 中\n",
+    "            while token_start_index < len(offsets) and offsets[\n",
+    "                    token_start_index][0] <= start_char:\n",
+    "                token_start_index += 1\n",
+    "            tokenized_data_list[i][\"start_pos\"] = token_start_index - 1\n",
+    "            while offsets[token_end_index][1] >= end_char:\n",
+    "                token_end_index -= 1\n",
+    "            tokenized_data_list[i][\"end_pos\"] = token_end_index + 1\n",
+    "\n",
+    "    return tokenized_data_list\n",
+    "\n",
+    "train_dataset.map(_process_train, batched=True, num_workers=5)\n",
+    "print(train_dataset[0])\n",
+    "print(\"处理后的训练集大小:\", len(train_dataset))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 2.2 处理验证集\n",
+    "\n",
+    "对于验证集的处理则简单得多,我们只需要保存原数据的 `id` 并将 `offset_mapping` 中不属于上下文的部分设置为 `None` 即可。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       ""
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "def _process_val(data):\n",
+    "\n",
+    "    contexts = [data[i][\"context\"] for i in range(len(data))]\n",
+    "    questions = [data[i][\"question\"] for i in range(len(data))]\n",
+    "\n",
+    "    tokenized_data_list = tokenizer(\n",
+    "        questions,\n",
+    "        contexts,\n",
+    "        stride=doc_stride,\n",
+    "        max_length=max_length,\n",
+    "        return_dict=False\n",
+    "    )\n",
+    "\n",
+    "    for i, tokenized_data in enumerate(tokenized_data_list):\n",
+    "        token_type_ids = tokenized_data[\"token_type_ids\"]\n",
+    "        # 保存数据对应的 id\n",
+    "        sample_index = tokenized_data[\"overflow_to_sample\"]\n",
+    "        tokenized_data_list[i][\"example_id\"] = data[sample_index][\"id\"]\n",
+    "\n",
+    "        # 将不属于 context 的 offset 设置为 None\n",
+    "        tokenized_data_list[i][\"offset_mapping\"] = [\n",
+    "            (o if token_type_ids[k] == 1 else None)\n",
+    "            for k, o in enumerate(tokenized_data[\"offset_mapping\"])\n",
+    "        ]\n",
+    "\n",
+    "    return tokenized_data_list\n",
+    "\n",
+    "val_dataset.map(_process_val, batched=True, num_workers=5)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### 2.3 DataLoader\n",
+    "\n",
+    "最后使用 `PaddleDataLoader` 将数据集包裹起来即可。"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from fastNLP.core import PaddleDataLoader\n", + "\n", + "train_dataloader = PaddleDataLoader(train_dataset, batch_size=32, shuffle=True)\n", + "val_dataloader = PaddleDataLoader(val_dataset, batch_size=16)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. 模型训练:自己定义评测用的 Metric 实现更加自由的任务评测\n", + "\n", + "#### 3.1 损失函数\n", + "\n", + "对于阅读理解任务,我们使用的是 `ErnieForQuestionAnswering` 模型。该模型在接受输入后会返回两个值:`start_logits` 和 `end_logits` ,大小均为 `(batch_size, sequence_length)`,反映了每条数据每个词语为答案起始位置的可能性,因此我们需要自定义一个损失函数来计算 `loss`。 `CrossEntropyLossForSquad` 会分别对答案起始位置的预测值和真实值计算交叉熵,最后返回其平均值作为最终的损失。" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "class CrossEntropyLossForSquad(paddle.nn.Layer):\n", + " def __init__(self):\n", + " super(CrossEntropyLossForSquad, self).__init__()\n", + "\n", + " def forward(self, start_logits, end_logits, start_pos, end_pos):\n", + " start_pos = paddle.unsqueeze(start_pos, axis=-1)\n", + " end_pos = paddle.unsqueeze(end_pos, axis=-1)\n", + " start_loss = paddle.nn.functional.softmax_with_cross_entropy(\n", + " logits=start_logits, label=start_pos)\n", + " start_loss = paddle.mean(start_loss)\n", + " end_loss = paddle.nn.functional.softmax_with_cross_entropy(\n", + " logits=end_logits, label=end_pos)\n", + " end_loss = paddle.mean(end_loss)\n", + "\n", + " loss = (start_loss + end_loss) / 2\n", + " return loss" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.2 定义模型\n", + "\n", + "模型的核心则是 `ErnieForQuestionAnswering` 的 `ernie-1.0-base-zh` 预训练模型,同时按照 `fastNLP` 的规定定义 `train_step` 和 `evaluate_step` 函数。这里 `evaluate_step` 函数并没有像文本分类那样直接返回该批次数据的评测结果,这一点我们将在下面为您讲解。" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m[2022-06-27 19:00:15,825] [ INFO]\u001b[0m - Already cached /remote-home/shxing/.paddlenlp/models/ernie-1.0-base-zh/ernie_v1_chn_base.pdparams\u001b[0m\n", + "W0627 19:00:15.831080 21543 gpu_context.cc:278] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 11.2, Runtime API Version: 11.2\n", + "W0627 19:00:15.843276 21543 gpu_context.cc:306] device: 0, cuDNN Version: 8.1.\n" + ] + } + ], + "source": [ + "from paddlenlp.transformers import ErnieForQuestionAnswering\n", + "\n", + "class QAModel(paddle.nn.Layer):\n", + " def __init__(self, model_checkpoint):\n", + " super(QAModel, self).__init__()\n", + " self.model = ErnieForQuestionAnswering.from_pretrained(model_checkpoint)\n", + " self.loss_func = CrossEntropyLossForSquad()\n", + "\n", + " def forward(self, input_ids, token_type_ids):\n", + " start_logits, end_logits = self.model(input_ids, token_type_ids)\n", + " return start_logits, end_logits\n", + "\n", + " def train_step(self, input_ids, token_type_ids, start_pos, end_pos):\n", + " start_logits, end_logits = self(input_ids, token_type_ids)\n", + " loss = self.loss_func(start_logits, end_logits, start_pos, end_pos)\n", + " return {\"loss\": loss}\n", + "\n", + " def evaluate_step(self, input_ids, token_type_ids):\n", + " start_logits, end_logits = self(input_ids, token_type_ids)\n", + " return {\"start_logits\": start_logits, \"end_logits\": end_logits}\n", + "\n", + "model = QAModel(MODEL_NAME)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.3 自定义 Metric 进行数据的评估\n", + "\n", + "`paddlenlp` 为我们提供了评测 `SQuAD` 格式数据集的函数 `compute_prediction` 和 `squad_evaluate`:\n", + "- `compute_prediction` 函数要求传入原数据 `examples` 、处理后的数据 `features` 和 `features` 对应的结果 `predictions`(一个包含所有数据 `start_logits` 和 `end_logits` 的元组)\n", + "- `squad_evaluate` 要求传入原数据 `examples` 和预测结果 `all_predictions`(通常来自于 `compute_prediction`)\n", + "\n", + "在使用这两个函数的时候,我们需要向其中传入数据集,但显然根据 `fastNLP` 的设计,我们无法在 `evaluate_step` 里实现这一过程,并且 `fastNLP` 也并没有提供计算 `F1` 和 `EM` 的 `Metric`,故我们需要自己定义用于评测的 `Metric`。\n", + "\n", + "在初始化之外,一个 `Metric` 还需要实现三个函数:\n", + "\n", + "1. `reset` - 该函数会在验证数据集的迭代之前被调用,用于清空数据;在我们自定义的 `Metric` 中,我们需要将 `all_start_logits` 和 `all_end_logits` 清空,重新收集每个 `batch` 的结果。\n", + "2. `update` - 该函数会在在每个 `batch` 得到结果后被调用,用于更新 `Metric` 的状态;它的参数即为 `evaluate_step` 返回的内容。我们在这里将得到的 `start_logits` 和 `end_logits` 收集起来。\n", + "3. `get_metric` - 该函数会在数据集被迭代完毕后调用,用于计算评测的结果。现在我们有了整个验证集的 `all_start_logits` 和 `all_end_logits` ,将他们传入 `compute_predictions` 函数得到预测的结果,并继续使用 `squad_evaluate` 函数得到评测的结果。\n", + " - 注:`suqad_evaluate` 函数会自己输出评测结果,为了不让其干扰 `fastNLP` 输出,这里我们使用 `contextlib.redirect_stdout(None)` 将函数的标准输出屏蔽掉。\n", + "\n", + "综上,`SquadEvaluateMetric` 实现的评估过程是:将验证集中所有数据的 `logits` 收集起来,然后统一传入 `compute_prediction` 和 `squad_evaluate` 中进行评估。值得一提的是,`paddlenlp.datasets.load_dataset` 返回的结果是一个 `MapDataset` 类型,其 `data` 成员为加载时的数据,`new_data` 为经过 `map` 函数处理后更新的数据,因此可以分别作为 `examples` 和 `features` 传入。" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "from fastNLP.core import Metric\n", + "from paddlenlp.metrics.squad import squad_evaluate, compute_prediction\n", + "import contextlib\n", + "\n", + "class SquadEvaluateMetric(Metric):\n", + " def __init__(self, examples, features, testing=False):\n", + " super(SquadEvaluateMetric, self).__init__(\"paddle\", False)\n", + " self.examples = examples\n", + " self.features = features\n", + " self.all_start_logits = []\n", + " self.all_end_logits = []\n", + " self.testing = testing\n", + "\n", + " def reset(self):\n", + " self.all_start_logits = []\n", + " self.all_end_logits = []\n", + "\n", + " def update(self, start_logits, end_logits):\n", + " for start, end in zip(start_logits, end_logits):\n", + " self.all_start_logits.append(start.numpy())\n", + " self.all_end_logits.append(end.numpy())\n", + "\n", + " def get_metric(self):\n", + " all_predictions, _, _ = compute_prediction(\n", + " self.examples, self.features[:len(self.all_start_logits)],\n", + " (self.all_start_logits, self.all_end_logits),\n", + " False, 20, 30\n", + " )\n", + " with contextlib.redirect_stdout(None):\n", + " result = squad_evaluate(\n", + " examples=self.examples,\n", + " preds=all_predictions,\n", + " is_whitespace_splited=False\n", + " )\n", + "\n", + " if self.testing:\n", + " self.print_predictions(all_predictions)\n", + " return result\n", + "\n", + " def print_predictions(self, preds):\n", + " for i, data in enumerate(self.examples):\n", + " if i >= 5:\n", + " break\n", + " print()\n", + " print(\"原文:\", data[\"context\"])\n", + " print(\"问题:\", data[\"question\"], \\\n", + " \"答案:\", preds[data[\"id\"]], \\\n", + " \"正确答案:\", data[\"answers\"][\"text\"])\n", + "\n", + "metric = SquadEvaluateMetric(\n", + " val_dataloader.dataset.data,\n", + " val_dataloader.dataset.new_data,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.4 训练\n", + "\n", + "至此所有的准备工作已经完成,可以使用 `Trainer` 进行训练了。学习率我们依旧采用线性预热策略 `LinearDecayWithWarmup`,优化器为 `AdamW`;回调模块我们选择 `LRSchedCallback` 更新学习率和 `LoadBestModelCallback` 监视评测结果的 `f1` 分数。初始化好 `Trainer` 之后,就将训练的过程交给 `fastNLP` 吧。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
[19:04:54] INFO     Running evaluator sanity check for 2 batches.              trainer.py:631\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[19:04:54]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Running evaluator sanity check for \u001b[1;36m2\u001b[0m batches. \u001b]8;id=367046;file://../fastNLP/core/controllers/trainer.py\u001b\\\u001b[2mtrainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=96810;file://../fastNLP/core/controllers/trainer.py#631\u001b\\\u001b[2m631\u001b[0m\u001b]8;;\u001b\\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:100 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m100\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 49.25899788285109,\n",
+       "  \"f1#squad\": 66.55559127349602,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 49.25899788285109,\n",
+       "  \"HasAns_f1#squad\": 66.55559127349602,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m49.25899788285109\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m66.55559127349602\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m49.25899788285109\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m66.55559127349602\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:200 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m200\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 57.37473535638673,\n",
+       "  \"f1#squad\": 70.93036525200617,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 57.37473535638673,\n",
+       "  \"HasAns_f1#squad\": 70.93036525200617,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m57.37473535638673\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m70.93036525200617\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m57.37473535638673\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m70.93036525200617\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:300 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m300\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 63.86732533521524,\n",
+       "  \"f1#squad\": 78.62546663568186,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 63.86732533521524,\n",
+       "  \"HasAns_f1#squad\": 78.62546663568186,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m63.86732533521524\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m78.62546663568186\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m63.86732533521524\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m78.62546663568186\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:400 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m400\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 64.92589978828511,\n",
+       "  \"f1#squad\": 79.36746074079691,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 64.92589978828511,\n",
+       "  \"HasAns_f1#squad\": 79.36746074079691,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m64.92589978828511\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m79.36746074079691\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m64.92589978828511\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m79.36746074079691\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:500 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m500\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 65.70218772053634,\n",
+       "  \"f1#squad\": 80.33295482054824,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 65.70218772053634,\n",
+       "  \"HasAns_f1#squad\": 80.33295482054824,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m65.70218772053634\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m80.33295482054824\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m65.70218772053634\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m80.33295482054824\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:600 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m600\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 65.41990119971771,\n",
+       "  \"f1#squad\": 79.7483487059053,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 65.41990119971771,\n",
+       "  \"HasAns_f1#squad\": 79.7483487059053,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m65.41990119971771\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m79.7483487059053\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m65.41990119971771\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m79.7483487059053\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:700 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m700\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 66.61961891319689,\n",
+       "  \"f1#squad\": 80.32432238994133,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 66.61961891319689,\n",
+       "  \"HasAns_f1#squad\": 80.32432238994133,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m66.61961891319689\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m80.32432238994133\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m66.61961891319689\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m80.32432238994133\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
---------------------------- Eval. results on Epoch:0, Batch:800 ----------------------------\n",
+       "
\n" + ], + "text/plain": [ + "---------------------------- Eval. results on Epoch:\u001b[1;36m0\u001b[0m, Batch:\u001b[1;36m800\u001b[0m ----------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
{\n",
+       "  \"exact#squad\": 65.84333098094567,\n",
+       "  \"f1#squad\": 79.23169801265415,\n",
+       "  \"total#squad\": 1417,\n",
+       "  \"HasAns_exact#squad\": 65.84333098094567,\n",
+       "  \"HasAns_f1#squad\": 79.23169801265415,\n",
+       "  \"HasAns_total#squad\": 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[1;34m\"exact#squad\"\u001b[0m: \u001b[1;36m65.84333098094567\u001b[0m,\n", + " \u001b[1;34m\"f1#squad\"\u001b[0m: \u001b[1;36m79.23169801265415\u001b[0m,\n", + " \u001b[1;34m\"total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[1;34m\"HasAns_exact#squad\"\u001b[0m: \u001b[1;36m65.84333098094567\u001b[0m,\n", + " \u001b[1;34m\"HasAns_f1#squad\"\u001b[0m: \u001b[1;36m79.23169801265415\u001b[0m,\n", + " \u001b[1;34m\"HasAns_total#squad\"\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
[19:20:28] INFO     Loading best model from fnlp-ernie-squad/ load_best_model_callback.py:111\n",
+       "                    2022-06-27-19_00_15_388554/best_so_far                                   \n",
+       "                    with f1#squad: 80.33295482054824...                                      \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m[19:20:28]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Loading best model from fnlp-ernie-squad/ \u001b]8;id=163935;file://../fastNLP/core/callbacks/load_best_model_callback.py\u001b\\\u001b[2mload_best_model_callback.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=31503;file://../fastNLP/core/callbacks/load_best_model_callback.py#111\u001b\\\u001b[2m111\u001b[0m\u001b]8;;\u001b\\\n", + "\u001b[2;36m \u001b[0m \u001b[1;36m2022\u001b[0m-\u001b[1;36m06\u001b[0m-\u001b[1;36m27\u001b[0m-19_00_15_388554/best_so_far \u001b[2m \u001b[0m\n", + "\u001b[2;36m \u001b[0m with f1#squad: \u001b[1;36m80.33295482054824\u001b[0m\u001b[33m...\u001b[0m \u001b[2m \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
           INFO     Deleting fnlp-ernie-squad/2022-06-27-19_0 load_best_model_callback.py:131\n",
+       "                    0_15_388554/best_so_far...                                               \n",
+       "
\n" + ], + "text/plain": [ + "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Deleting fnlp-ernie-squad/\u001b[1;36m2022\u001b[0m-\u001b[1;36m06\u001b[0m-\u001b[1;36m27\u001b[0m-19_0 \u001b]8;id=560859;file://../fastNLP/core/callbacks/load_best_model_callback.py\u001b\\\u001b[2mload_best_model_callback.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=573263;file://../fastNLP/core/callbacks/load_best_model_callback.py#131\u001b\\\u001b[2m131\u001b[0m\u001b]8;;\u001b\\\n", + "\u001b[2;36m \u001b[0m 0_15_388554/best_so_far\u001b[33m...\u001b[0m \u001b[2m \u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from fastNLP import Trainer, LRSchedCallback, LoadBestModelCallback\n", + "from paddlenlp.transformers import LinearDecayWithWarmup\n", + "\n", + "n_epochs = 1\n", + "num_training_steps = len(train_dataloader) * n_epochs\n", + "lr_scheduler = LinearDecayWithWarmup(3e-5, num_training_steps, 0.1)\n", + "optimizer = paddle.optimizer.AdamW(\n", + " learning_rate=lr_scheduler,\n", + " parameters=model.parameters(),\n", + ")\n", + "callbacks=[\n", + " LRSchedCallback(lr_scheduler, step_on=\"batch\"),\n", + " LoadBestModelCallback(\"f1#squad\", larger_better=True, save_folder=\"fnlp-ernie-squad\")\n", + "]\n", + "trainer = Trainer(\n", + " model=model,\n", + " train_dataloader=train_dataloader,\n", + " evaluate_dataloaders=val_dataloader,\n", + " device=1,\n", + " optimizers=optimizer,\n", + " n_epochs=n_epochs,\n", + " callbacks=callbacks,\n", + " evaluate_every=100,\n", + " metrics={\"squad\": metric},\n", + ")\n", + "trainer.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.5 测试\n", + "\n", + "最后,我们可以使用 `Evaluator` 查看我们训练的结果。我们在之前为 `SquadEvaluateMetric` 设置了 `testing` 参数来在测试阶段进行输出,可以看到,训练的结果还是比较不错的。" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
原文: 爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬\n",
+       "行垫、EPE爬行垫都属于PE材料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬\n",
+       "行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内厂家为了减低成本,使用EPE(珍珠棉)作为原料生\n",
+       "产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料\n",
+       "与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬\n",
+       "行垫,油墨外露容易脱落。 \n",
+       "当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。\n",
+       "
\n" + ], + "text/plain": [ + "原文: 爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬\n", + "行垫、EPE爬行垫都属于PE材料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬\n", + "行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内厂家为了减低成本,使用EPE(珍珠棉)作为原料生\n", + "产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料\n", + "与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬\n", + "行垫,油墨外露容易脱落。 \n", + "当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
问题: 爬行垫什么材质的好 答案: EPE(珍珠棉 正确答案: ['XPE']\n",
+       "
\n" + ], + "text/plain": [ + "问题: 爬行垫什么材质的好 答案: EPE(珍珠棉 正确答案: ['XPE']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
原文: 真实情况是160-162。她平时谎报的168是因为不离脚穿高水台恨天高(15厘米) 图1她穿着高水台恨\n",
+       "天高和刘亦菲一样高,(刘亦菲对外报身高172)范冰冰礼服下厚厚的高水台暴露了她的心机,对比一下两者的\n",
+       "鞋子吧 图2 穿着高水台恨天高才和刘德华谢霆锋持平,如果她真的有168,那么加上鞋高,刘和谢都要有180?\n",
+       "明显是不可能的。所以刘德华对外报的身高174减去10-15厘米才是范冰冰的真实身高 图3,范冰冰有一次脱\n",
+       "鞋上场,这个最说明问题了,看看她的身体比例吧。还有目测一下她手上鞋子的鞋跟有多高多厚吧,至少超过\n",
+       "10厘米。\n",
+       "
\n" + ], + "text/plain": [ + "原文: 真实情况是160-162。她平时谎报的168是因为不离脚穿高水台恨天高(15厘米) 图1她穿着高水台恨\n", + "天高和刘亦菲一样高,(刘亦菲对外报身高172)范冰冰礼服下厚厚的高水台暴露了她的心机,对比一下两者的\n", + "鞋子吧 图2 穿着高水台恨天高才和刘德华谢霆锋持平,如果她真的有168,那么加上鞋高,刘和谢都要有180?\n", + "明显是不可能的。所以刘德华对外报的身高174减去10-15厘米才是范冰冰的真实身高 图3,范冰冰有一次脱\n", + "鞋上场,这个最说明问题了,看看她的身体比例吧。还有目测一下她手上鞋子的鞋跟有多高多厚吧,至少超过\n", + "10厘米。\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
问题: 范冰冰多高真实身高 答案: 160-162 正确答案: ['160-162']\n",
+       "
\n" + ], + "text/plain": [ + "问题: 范冰冰多高真实身高 答案: 160-162 正确答案: ['160-162']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
原文: 防水作为目前高端手机的标配,特别是苹果也支持防水之后,国产大多数高端旗舰手机都已经支持防\n",
+       "水。虽然我们真的不会故意把手机放入水中,但是有了防水之后,用户心里会多一重安全感。那么近日最为\n",
+       "火热的小米6防水吗?小米6的防水级别又是多少呢? 小编查询了很多资料发现,小米6确实是防水的,但是为\n",
+       "了保持低调,同时为了不被别人说防水等级不够,很多资料都没有标注小米是否防水。根据评测资料显示,小\n",
+       "米6是支持IP68级的防水,是绝对能够满足日常生活中的防水需求的。\n",
+       "
\n" + ], + "text/plain": [ + "原文: 防水作为目前高端手机的标配,特别是苹果也支持防水之后,国产大多数高端旗舰手机都已经支持防\n", + "水。虽然我们真的不会故意把手机放入水中,但是有了防水之后,用户心里会多一重安全感。那么近日最为\n", + "火热的小米6防水吗?小米6的防水级别又是多少呢? 小编查询了很多资料发现,小米6确实是防水的,但是为\n", + "了保持低调,同时为了不被别人说防水等级不够,很多资料都没有标注小米是否防水。根据评测资料显示,小\n", + "米6是支持IP68级的防水,是绝对能够满足日常生活中的防水需求的。\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
问题: 小米6防水等级 答案: IP68级 正确答案: ['IP68级']\n",
+       "
\n" + ], + "text/plain": [ + "问题: 小米6防水等级 答案: IP68级 正确答案: ['IP68级']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
原文: 这位朋友你好,女性出现妊娠反应一般是从6-12周左右,也就是女性怀孕1个多月就会开始出现反应,\n",
+       "第3个月的时候,妊辰反应基本结束。 而大部分女性怀孕初期都会出现恶心、呕吐的感觉,这些症状都是因\n",
+       "人而异的,除非恶心、呕吐的非常厉害,才需要就医,否则这些都是刚怀孕的的正常症状。1-3个月的时候可\n",
+       "以观察一下自己的皮肤,一般女性怀孕初期可能会产生皮肤色素沉淀或是腹壁产生妊娠纹,特别是在怀孕的\n",
+       "后期更加明显。 还有很多女性怀孕初期会出现疲倦、嗜睡的情况。怀孕三个月的时候,膀胱会受到日益胀\n",
+       "大的子宫的压迫,容量会变小,所以怀孕期间也会有尿频的现象出现。月经停止也是刚怀孕最容易出现的症\n",
+       "状,只要是平时月经正常的女性,在性行为后超过正常经期两周,就有可能是怀孕了。 如果你想判断自己是\n",
+       "否怀孕,可以看看自己有没有这些反应。当然这也只是多数人的怀孕表现,也有部分女性怀孕表现并不完全\n",
+       "是这样,如果你无法确定自己是否怀孕,最好去医院检查一下。\n",
+       "
\n" + ], + "text/plain": [ + "原文: 这位朋友你好,女性出现妊娠反应一般是从6-12周左右,也就是女性怀孕1个多月就会开始出现反应,\n", + "第3个月的时候,妊辰反应基本结束。 而大部分女性怀孕初期都会出现恶心、呕吐的感觉,这些症状都是因\n", + "人而异的,除非恶心、呕吐的非常厉害,才需要就医,否则这些都是刚怀孕的的正常症状。1-3个月的时候可\n", + "以观察一下自己的皮肤,一般女性怀孕初期可能会产生皮肤色素沉淀或是腹壁产生妊娠纹,特别是在怀孕的\n", + "后期更加明显。 还有很多女性怀孕初期会出现疲倦、嗜睡的情况。怀孕三个月的时候,膀胱会受到日益胀\n", + "大的子宫的压迫,容量会变小,所以怀孕期间也会有尿频的现象出现。月经停止也是刚怀孕最容易出现的症\n", + "状,只要是平时月经正常的女性,在性行为后超过正常经期两周,就有可能是怀孕了。 如果你想判断自己是\n", + "否怀孕,可以看看自己有没有这些反应。当然这也只是多数人的怀孕表现,也有部分女性怀孕表现并不完全\n", + "是这样,如果你无法确定自己是否怀孕,最好去医院检查一下。\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
问题: 怀孕多久会有反应 答案: 6-12周左右 正确答案: ['6-12周左右', '6-12周', '1个多月']\n",
+       "
\n" + ], + "text/plain": [ + "问题: 怀孕多久会有反应 答案: 6-12周左右 正确答案: ['6-12周左右', '6-12周', '1个多月']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
原文: 【东奥会计在线——中级会计职称频道推荐】根据《关于提高科技型中小企业研究开发费用税前加计\n",
+       "扣除比例的通知》的规定,研发费加计扣除比例提高到75%。|财政部、国家税务总局、科技部发布《关于提\n",
+       "高科技型中小企业研究开发费用税前加计扣除比例的通知》。|通知称,为进一步激励中小企业加大研发投\n",
+       "入,支持科技创新,就提高科技型中小企业研究开发费用(以下简称研发费用)税前加计扣除比例有关问题发\n",
+       "布通知。|通知明确,科技型中小企业开展研发活动中实际发生的研发费用,未形成无形资产计入当期损益的\n",
+       ",在按规定据实扣除的基础上,在2017年1月1日至2019年12月31日期间,再按照实际发生额的75%在税前加计\n",
+       "扣除;形成无形资产的,在上述期间按照无形资产成本的175%在税前摊销。|科技型中小企业享受研发费用税\n",
+       "前加计扣除政策的其他政策口径按照《财政部国家税务总局科技部关于完善研究开发费用税前加计扣除政\n",
+       "策的通知》(财税〔2015〕119号)规定执行。|科技型中小企业条件和管理办法由科技部、财政部和国家税\n",
+       "务总局另行发布。科技、财政和税务部门应建立信息共享机制,及时共享科技型中小企业的相关信息,加强\n",
+       "协调配合,保障优惠政策落实到位。|上一篇文章:关于2016年度企业研究开发费用税前加计扣除政策企业所\n",
+       "得税纳税申报问题的公告 下一篇文章:关于提高科技型中小企业研究开发费用税前加计扣除比例的通知\n",
+       "
\n" + ], + "text/plain": [ + "原文: 【东奥会计在线——中级会计职称频道推荐】根据《关于提高科技型中小企业研究开发费用税前加计\n", + "扣除比例的通知》的规定,研发费加计扣除比例提高到75%。|财政部、国家税务总局、科技部发布《关于提\n", + "高科技型中小企业研究开发费用税前加计扣除比例的通知》。|通知称,为进一步激励中小企业加大研发投\n", + "入,支持科技创新,就提高科技型中小企业研究开发费用(以下简称研发费用)税前加计扣除比例有关问题发\n", + "布通知。|通知明确,科技型中小企业开展研发活动中实际发生的研发费用,未形成无形资产计入当期损益的\n", + ",在按规定据实扣除的基础上,在2017年1月1日至2019年12月31日期间,再按照实际发生额的75%在税前加计\n", + "扣除;形成无形资产的,在上述期间按照无形资产成本的175%在税前摊销。|科技型中小企业享受研发费用税\n", + "前加计扣除政策的其他政策口径按照《财政部国家税务总局科技部关于完善研究开发费用税前加计扣除政\n", + "策的通知》(财税〔2015〕119号)规定执行。|科技型中小企业条件和管理办法由科技部、财政部和国家税\n", + "务总局另行发布。科技、财政和税务部门应建立信息共享机制,及时共享科技型中小企业的相关信息,加强\n", + "协调配合,保障优惠政策落实到位。|上一篇文章:关于2016年度企业研究开发费用税前加计扣除政策企业所\n", + "得税纳税申报问题的公告 下一篇文章:关于提高科技型中小企业研究开发费用税前加计扣除比例的通知\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
问题: 研发费用加计扣除比例 答案: 75% 正确答案: ['75%']\n",
+       "
\n" + ], + "text/plain": [ + "问题: 研发费用加计扣除比例 答案: 75% 正确答案: ['75%']\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
{\n",
+       "    'exact#squad': 65.70218772053634,\n",
+       "    'f1#squad': 80.33295482054824,\n",
+       "    'total#squad': 1417,\n",
+       "    'HasAns_exact#squad': 65.70218772053634,\n",
+       "    'HasAns_f1#squad': 80.33295482054824,\n",
+       "    'HasAns_total#squad': 1417\n",
+       "}\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m{\u001b[0m\n", + " \u001b[32m'exact#squad'\u001b[0m: \u001b[1;36m65.70218772053634\u001b[0m,\n", + " \u001b[32m'f1#squad'\u001b[0m: \u001b[1;36m80.33295482054824\u001b[0m,\n", + " \u001b[32m'total#squad'\u001b[0m: \u001b[1;36m1417\u001b[0m,\n", + " \u001b[32m'HasAns_exact#squad'\u001b[0m: \u001b[1;36m65.70218772053634\u001b[0m,\n", + " \u001b[32m'HasAns_f1#squad'\u001b[0m: \u001b[1;36m80.33295482054824\u001b[0m,\n", + " \u001b[32m'HasAns_total#squad'\u001b[0m: \u001b[1;36m1417\u001b[0m\n", + "\u001b[1m}\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from fastNLP import Evaluator\n", + "evaluator = Evaluator(\n", + " model=model,\n", + " dataloaders=val_dataloader,\n", + " device=1,\n", + " metrics={\n", + " \"squad\": SquadEvaluateMetric(\n", + " val_dataloader.dataset.data,\n", + " val_dataloader.dataset.new_data,\n", + " testing=True,\n", + " ),\n", + " },\n", + ")\n", + "result = evaluator.run()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.7.13 ('fnlp-paddle')", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "31f2d9d3efc23c441973d7c4273acfea8b132b6a578f002629b6b44b8f65e720" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/tutorials/figures/E1-fig-glue-benchmark.png b/docs/source/tutorials/figures/E1-fig-glue-benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..515db700127d0d2f4dc7b139a29bf1749419f2c3 GIT binary patch literal 158817 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 z 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�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≪c&6C_5)4~dcVATcrkDTEXk zqcK)T#%&&lX$M{5U#xMA+aN}4j?oH!j?rxF$>!et8ts{hYcP(@G1|5X0R{+8O5!HW zbKin1h1$pLu8@k3%HJxGiU!0P81>6`K>?A^m1(|IB`r(|lir$>H|VNL@v z-0L{fG}_urCMSR^4{pFYkvU7<84@GHnjkSUen^a@2Z@mZkQnKkEQDPA3XV>Lu_RP; zts<`N!ZfaJ2o?qFw>5|?=Q!4Q`~u%x?t?_5O%=9RQR2piXm&~VgF6;13;*! zCvU{mRbS%!Q1!(dQ*rjhXgG3WHu2O&WncNNOW3k&7)I@wi-r5=x6Qse_#Ec33W*V6O^_HFKO{!dgT%-HEJuuFh>hKewcblH=hwl46bW%2hAI1h#Oe#)h|s(e zQxOBtgKUAvL6~t##{!Rvlttm>={cCZa~WJhkHh=g1}t#-8qUFi8dscBar*cu?zr}t zaPoX>tvm#K-I;``JvNQ7t4^oXuR3)@NQ?+;g2c%9Au*C3Bt`~ckwa;QrZ^fwX%QU` zrKv|=5|6N?GdPzVg7{+Y!$71D8%hgJ4bvJ*lX^&u2y24G$oL^Kk{%>R20&s&(F}p75tQLMd2*UDdZX_`>c5)+c3a>696-bN>prp1~^yEmf z-qbbK3BMf#Vfp;_+i%DYlZ&3kQ0$N(xEDn(C@6zfg%Z_UDQ2SHc| zw{GN#p5Q5+OG$c>@X8WWfyBrFnp&DfPmUDp%&nRN;WvXItcS|na?uk!rE{q*tr1>X zLMo6L8Ax$$k?2X1VtuJ?sug}K2*P@3X=>po42zxQDTaj&qp{&hLRyd*8AwBOgXl?; zVqGby&ZiGF!fGkMStfd-rx=!+BD#4)ijWv}f||w}(UT>`I+9Q<%j>Jd_f#K;IRL1L4#^Qv-1PpB004HMt8 zx>Ej*M1mm1X=!djWnKje6Y^9W! zTul&$!+!>HqQvfAv-)ta17UuU7!d?P5ClO8kQfmJK@bE%2#^>N1VIo4K?sl-5d=XH z1VIRp7!d?P5ClO8kQfmJK@bE%2#^>N1VIo4K?sl-5d=XH1VIRp7!d?P5ClO8kQfmJ zK@bE%2#^>N1VIo4K?sl-5d=XH1VIRp7!d?P5ClO8kQfmJK@bE%2#^>N1VIo4LGS?o d4-@rNX@HP30RR9107*qoM6N<$f&l;k|Nolj0H6Q> literal 0 KcmV+b0RR6000031 diff --git a/docs/source/tutorials/figures/T0-fig-parameter-matching.png b/docs/source/tutorials/figures/T0-fig-parameter-matching.png new file mode 100644 index 0000000000000000000000000000000000000000..24013cc12a4014c650c6642b8a90ab650d37e561 GIT binary patch literal 95584 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 XDv3C5c8nMZ00000NkvXXu0mjfhQ$JF literal 0 KcmV+b0RR6000031 diff --git a/docs/source/tutorials/figures/T0-fig-trainer-and-evaluator.png b/docs/source/tutorials/figures/T0-fig-trainer-and-evaluator.png new file mode 100644 index 0000000000000000000000000000000000000000..38222ee8dccd69c402ab4aa343d0ad4e904a6935 GIT binary patch literal 71418 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 lg#Z8m00000005xW{|}*ERvRb3p_cW%Gztc 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

}(VIVd3)rk#GrFv^HRDj%Z*%0s3Etz3>OneweV( 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�Vs@a)FdGJ4Dk3I58 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 literal 0 KcmV+b0RR6000031 diff --git a/docs/source/tutorials/figures/T1-fig-dataset-and-vocabulary.png b/docs/source/tutorials/figures/T1-fig-dataset-and-vocabulary.png new file mode 100644 index 0000000000000000000000000000000000000000..803cf34af1bec658965cf294a2fbd4fd5416d8ec GIT binary patch literal 138905 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�{1s&!gwaqj)^-S3D9(o&tg(h~|RH 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 ABLDyZ literal 0 KcmV+b0RR6000031 diff --git a/docs/source/tutorials/figures/paddle-ernie-3.0-framework.png b/docs/source/tutorials/figures/paddle-ernie-3.0-framework.png new file mode 100644 index 0000000000000000000000000000000000000000..f50ddb1c51525dc33ff0c92806afba4a859456d8 GIT binary patch literal 202018 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

xgqmCC8Sf{= z4zGz@Z@sOovg)c$xz;Z)SZl57X|&W*OFw(u{4-<)&x#1wdnOV3{k5IRV*T}BSUo5< z+iden3JrG5x0b6FgI!Z#NOPpQdp2CjgazjBGZ)OM56`w-(+4-^`qeQ?VXIEQ&_44>*Pn3%;`d#_kRacd5w%)oD7sx!%-r(6p%dMeLLt9g3 zGq&oQ(s!+!&h$tT8=s9n3_inS!dom_~1jz&9~fAu4v{w1KLZw=(3hYdQn}iwug$((v!5epHy)==pE28K z^jEGq=~Cs{cI-Wc3|42ETeQygXM`SQyW9ziAF(vX7O5hkp;^h+ih4jTzjQi-?tcEaoxYl>E~bFXW_FLt+DDd zWxqGPtSr9RbH?JMk54JT`rY;Anw#(GcM;!Y!_~{~uYGZk_wIk>iSmO}FE5jt-?lE6 zhNE)r^}3D9`fELxYsLb7)y@AdC!cdwKgRmgWvw-qD{tFr;+}}SFGFPy-80@E#Lat@5^IPJk@6rckg|6epz|ms?VK3WA?b>y1Sd_T-~oy zx#2o1mp8rcC1v3SpHqmYPMcXyIP1!C5cs;)H9p=uUU3^&5L>%@{^i6pK#`t z<)8OF(l4>H+jcK5n{2RJkN0o9+F_%z%JNI}kjWXpy}tbQ+PnHFVo1ZS zH(jf2yT#gN(S@JuU-vxtcrDk1&1-AhD;LG|4X@dtZ26Kkdfe-;H~hPtebII0$tlx% z)J3^gSZ;~3XVdT3SZT?Yay?y6z3|#{Rny0Mmy5h!`SRzN?Y3B_N5B8~1CN)JetlKB zujwoKdPBe|7N<5?{Y1)(1fNx zZctvf{;ECRzvk9^%P%gtw%>lg>dH%(H#cp+;rob~K8FS()o`Kmi-dAeMGeIvg= zoKq%0a(CJ4HQSXtZ@9c{y6Gm>Tk7G59xBu4Te$q~*2!g=71t;)-SCCw@kj43Qy#m& zJoVVUW$NUIYbez+OD|cyf#i4*HuU(6#mb+qZN4*g=B&iWkpy|wm6s|9ym6B1*hG@a@}_<(FQp z$9ot3`Ns0aZ=F_dx%v9Cj>hsjpY0diZlCtGX*X;4^yP9(S@U%bII`xL%eqjG?ddx*| z@fH6lXEtlZLJRgZ42`?hS6aFpyw{dx!3BDbp>H1l`#Q#Y_xq=&PH*Pajh>k!d&%p| z$6efGEClq6L*BY&S+nUgt-m?{Pq&ue{^^!FVYc=!<$A&D%a*;Zb&K{4zx>}HT~Z!- zbaJ0(DAyj%T))|iSMRaj+;#7x<(O0cT%K->#@1)}d*OweHD#BL%kx)Rrp}+d!;p9< zpL==v+36RTM<02l%$)ILdBrPVUDn^=#btVPk7Xv#EE}vop=|Yv&1)E2;9DpEvHa_v zNBfiuc5cSjroGB_$G;ybKRxrW&(7UFrM%P5GFLUQ{zr3Q{ao0nA%4E#%u+4n1AevDLtRj z{9AVEiDmB{H!iEL&^mWNU4DD{ZRL``+}6j)R<9SWyK>oU`whz#SNx?McGzJxZ`m7m z*|psH$f9N9GR>IZ_@!lu#h0jk-nHl=3zZ$VZp!td=hiy?`r2FXE5B&wVsm#ZlxwLa z7c2kw&0CZuCO+rE`c$K5UDTB6qDE#t*R7|U`p#e0d%=p0F12xwd(qcUZpQrGO`qvK z-!0UvJ-fd4MP=jlp3ASK?$OHsw11kGGWHHRWm@ zkMZ*tG`iG*yKma#UJp%rvK)KrpUWf7YwvP3l__s|{Y%S6P5TFox9e`Zul)EIe`%gE zq4b6_{Lj0$FN-bu+*rlI{OWhtmCLTYy$^w;o-ZP=H@>{b`;(uVUcPeNMSa#&n9_Xq z&OJ6QFKW?m)$! xUHKE~Zl{@AQ_z00MZTQu|I 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 这个 token 得到足够的训练, diff --git a/fastNLP/transformers/__init__.py b/fastNLP/transformers/__init__.py index 3b375020..6b175b28 100644 --- a/fastNLP/transformers/__init__.py +++ b/fastNLP/transformers/__init__.py @@ -1,4 +1,3 @@ """ :mod:`transformers` 模块,包含了常用的预训练模型。 """ -import sphinx-multiversion \ No newline at end of file