#
章末小测验

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

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

从上到下 自下而上

###
2.什么是最小可再生示例？

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

###
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)

以下哪项可能是论坛主题标题寻求帮助的好选择?

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

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

计算梯度并执行反向传播的优化步骤 计算度量的评估步骤 数据集 数据记录器

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

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

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

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

###
7.为什么对一个批处理进行过度调试通常是一种好的调试技术？

不是这样的, 过分合身总是不好的, 应该避免。 这使我们能够验证该模型能够将损耗降低到零。 它允许我们验证我们输入和标签的张量形状是正确的。

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

它允许维护人员理解你正在使用的库的哪个版本。 它让维护人员知道你是在 Windows、 macOS 还是 Linux 上运行代码。 它允许维护人员知道你是在 GPU 还是 CPU 上运行代码。