# 章末測評

讓我們測試一下你在本章學到的東西!

###
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 上運行代碼。