# 章末小测验 [[章末小测验]]

现在来测试一下本章所学内容吧！

### 1. “emotion”数据集包含带有情绪标记的 Twitter 消息。请在 [ Hub ]( https://huggingface.co/datasets) 中进行搜索并读取数据集的数据卡片。判断哪一个基本情感不在这个数据集中？

### 2. 在 [ Hub ]( https://huggingface.co/datasets) 中搜索`ar_sarcasm`数据集，该数据集支持哪个任务？

### 3. 当输入一对句子时 BERT 模型会需要进行怎么样的预处理？

{#if fw === 'pt'}
### 4. `Dataset.map ()`方法的好处是什么？

### 5. 什么是动态填充？

### 6. collate 函数的用途是什么？
DataCollatorWithPadding "
		},
		{
			text: "它把所有的样本地放在一个 batch 里。",
			explain: "正确！你可将 collate 函数作为 DataLoader函数的一个参数。 我们使用了 DataCollatorWithPadding 函数, 该函数对批次中的所有项目进行填充，使它们具有相同的长度。",
            correct: true
		},
		{
			text: "它预处理整个数据集。",
			explain: "预处理函数（preprocessing）用于预处理整个数据集，而不是 collate 函数。"
		},
        {
			text: "它截断数据集中的序列。",
			explain: "collate 函数用于处理单个 batch 的处理，而不是整个数据集。如果你对截断感兴趣，可以使用  tokenizer  的 truncate  参数。"
		}
	]}
/>

### 7. 当你用一个预先训练过的语言模型（例如 `bert-base-uncased`）实例化一个`AutoModelForXxx`类，这个类与它所被训练的任务不匹配时会发生什么？

### 8．`TrainingArguments`的用途是什么？

### 9．为什么要使用🤗 Accelerate 库？
Trainer 所做的事情，而不是 🤗 Accelerate 库。 再试一次"
		},
		{
			text: "它使我们的训练循环运行在分布式架构上",
			explain: "正确! 使用🤗 Accelerate 库，你的训练循环可以在多个 GPU 和 TPUs 上运行。",
            correct: true
		},
        {
			text: "它提供了更多的优化功能。",
			explain: "不，🤗 Accelerate 库不提供任何优化功能。"
		}
	]}
/>

{:else}
### 4．当模型与预训练的任务不匹配时，例如使用预训练的语言模型（例如“`bert-base-uncased`”）实例化“`TFAutoModelForXxx`”类时会发生什么？

### 5．来自 `transformers` 的 TensorFlow 模型已经是 Keras 模型，这有什么好处？
TPUStrategy 范围内运行所有内容，包括模型的初始化。"
		},
		{
			text: "你可以利用现有方法，例如 compile()、fit() 和 predict()。",
			explain: "正确! 一旦你有了数据，只需要很少的工作就可以在这些数据上进行训练。",
            correct: true
		},
		{
			text: "你可以学习 Keras 以及 Transformer。",
			explain: "没错，但我们要找的是别的东西:)",
			correct: true
		},
        {
			text: "你可以轻松计算与数据集相关的指标。",
			explain: "Keras 帮助我们训练和评估模型，而不是计算与数据集相关的指标。"
		}
	]}
/>

### 6．如何定义自己的自定义指标？
metric_fn(y_true, y_pred) 函数。",
			explain: "正确！",
			correct: true
		},
        {
			text: "使用谷歌搜索。",
			explain: "这不是我们要找的答案，不过它应该能帮助你找到答案。",
			correct: true
		}
	]}
/>

{/if}

