#
章末小测验

让我们测试一下你在本章学到的东西！

###
1. 应该按照什么顺序读取 Python 回溯？

从上到下 自下而上

###
2. 什么是最小可复现示例？

来自一个简单的 Transformer 体系结构的实现的研究文章 一种紧凑且包含所有所需资源的代码块，可以在不依赖于私有文件或数据的情况下运行 Python traceback 的屏幕截图 一个记录整个分析的 Notebook，包括与错误无关的部分

###
3. 假设你尝试运行以下代码，它抛出一个错误：

    from transformers import GPT3ForSequenceClassification

    # ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)
    # ---------------------------------------------------------------------------
    # ImportError                               Traceback (most recent call last)
    # /var/folders/28/k4cy5q7s2hs92xq7_h89_vgm0000gn/T/ipykernel_30848/333858878.py in <module>
    # ----> 1 from transformers import GPT3ForSequenceClassification

    # ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/__init__.py)

以下哪项可能是有助于寻求帮助的论坛帖子的标题呢？

import错误:无法从'transformers'import 名称'GPT3GPT3ForSequenceClassification'(/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/_ init _. py) 从 transformers import gpt3forsequeclassification 时出现问题 为什么我不能导入 GPT3ForSequenceClassification ? 🤗 Transformers 支持 GPT-3吗?

###
4. 假设你试图运行 trainer.train () ，但是遇到了一个错误，这个错误不能准确地告诉你错误来自哪里。下列哪一项是你应该首先在你的训练管道中寻找错误的地方？

计算梯度并执行反向传播的优化步骤 计算指标的评估步骤 数据集 Dataloader

###
5. 调试 CUDA 错误的最好方法是什么？

在论坛或 GitHub 上发布错误消息。 在 CPU 上执行相同的代码。 请阅读 traceback 以找出错误的原因。 减少 batch size。 重新启动 Jupyter 内核。

###
6. 修复 GitHub 上的问题最好的方法是什么？

发布这个 bug 的完整可重复的例子。 每天要求更新。 检查错误周围的源代码，并试图找出错误发生的原因。在 issue 上发布结果。

###
7. 为什么对一个 batch 进行过拟合通常是一种好的调试技术？

不是这样的， 过拟合总是不好的， 应该避免。 这使我们能够验证该模型能够将损耗降低到零。 过拟合可以检测我们验证我们输入和标签的张量形状是正确的。

###
8. 为什么在 🤗 Transformers 存储库中创建新问题时，使用 transformers-cli env 包含有关计算环境的详细信息是个好主意？

它可以使维护人员理解你正在使用的库的哪个版本。 它让维护人员知道你是在 Windows、 macOS 还是 Linux 上运行代码。 它可以使维护人员知道你是在 GPU 还是 CPU 上运行代码。
< > Update on GitHub