Buckets:
Quiz de fin de chapitre
Testons ce que vous avez appris dans ce chapitre !
1. Dans quel ordre devez-vous lire un traceback Python ?
traceback de Python montrant l'exception en bas est qu'il est plus facile de déboguer lorsque vous travaillez dans le terminal et que c'est la dernière ligne que vous voyez.", correct: true } ]} />
2. Qu'est-ce qu'un exemple minimal reproductible ?
transformer à partir d'un article de recherche.", explain: "Bien qu'il soit très éducatif d'implémenter vos propres modèles de transformers à partir de zéro, ce n'est pas ce dont nous parlons ici." }, { text: "Un bloc de code compact et autonome qui peut être exécuté sans aucune dépendance externe sur des fichiers ou des données privées.", explain: "Des exemples minimaux reproductibles aident les mainteneurs de la bibliothèque à reproduire le problème que vous rencontrez, afin qu'ils puissent trouver des solutions plus rapidement.", correct: true }, { text: "Une capture d'écran de la traceback Python", explain: "Essayez à nouveau. Bien qu'il soit tentant d'inclure une capture d'écran de l'erreur à laquelle vous êtes confronté lorsque vous soumettez un problème, cela rend très difficile pour les autres de reproduire l'erreur." }, { text: "Un notebook qui contient toute votre analyse, y compris les parties sans rapport avec l'erreur.", explain: "Pas tout à fait. Bien qu'il puisse être utile de partager un notebook Google Colab qui montre l'erreur, assurez-vous qu'il est court et ne contient que le code pertinent." } ]} />
3. Supposons que vous essayez d'exécuter le code suivant, qui génère une erreur :
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
# ----> 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)
Lequel des éléments suivants pourrait être un bon choix pour le titre d'un sujet de forum pour demander de l'aide ?
ImportError: cannot import name 'GPT3ForSequenceClassification' from 'transformers' (/Users/lewtun/miniconda3/envs/huggingface/lib/python3.8/site-packages/transformers/init.py)", explain: "Inclure la dernière ligne de la traceback peut être descriptif, mais il est préférable de le réserver au corps principal du sujet. Essayez à nouveau !" }, { text: "Problème avec from transformers import GPT3ForSequenceClassification", explain: "Essayez à nouveau. Bien que cette information soit utile, il est probablement préférable de la réserver au corps du texte.", }, { text: "Pourquoi je ne peux pas importer GPT3ForSequenceClassification?", explain: "Ce titre est concis et donne au lecteur un indice sur ce qui pourrait être erroné (par exemple, que GPT-3 n'est pas pris en charge dans 🤗 Transformers).", correct: true }, { text: "Le GPT-3 est-il pris en charge dans 🤗 Transformers ?", explain: "Utiliser des questions comme titres de sujets est un excellent moyen de communiquer le problème à la communauté.", correct: true } ]} />
4. Supposons que vous ayez essayé d'exécuter trainer.train() et que vous soyez confronté à une erreur énigmatique qui ne vous dit pas exactement d'où vient l'erreur. Quel est le premier endroit où vous devez chercher les erreurs dans votre pipeline d'entraînement ?
bugs dans votre optimiseur, cela se produit généralement à plusieurs étapes du pipeline d'entraînement, il y a donc d'autres choses à vérifier d'abord. Essayez à nouveau !" }, { text: "L'étape d'évaluation où nous calculons les métriques", explain: "L'évaluation est généralement ce que vous faites après l'entraînement pour une époque complète, donc vous devriez d'abord vérifier quelque part plus tôt dans le pipeline d'entraînement.", }, { text: "Les jeux de données", explain: "C'est exact ! L'examen de vos données est presque toujours la première chose à faire, pour vous assurer que le texte est codé de manière appropriée, qu'il présente les caractéristiques attendues, etc.", correct: true }, { text: "Les chargeurs de données", explain: "Essayez à nouveau. C'est très proche de la première chose que vous devriez vérifier. Vous souvenez-vous de l'objet que nous passons aux dataloaders ?" } ]} />
5. Quelle est la meilleure façon de déboguer une erreur CUDA ?
traceback pour découvrir ce qui a causé l'erreur.", explain: "C'est ce que vous feriez pour toute autre erreur, mais les erreurs CUDA ne sont généralement pas signalées là où elles se sont produites, car la plupart des opérations CUDA sont asynchrones." }, { text: "Réduisez la taille du batch.", explain: "La réduction de la taille du batch est généralement une bonne stratégie pour gérer les erreurs CUDA hors mémoire, mais pas pour ce problème particulier. Essayez à nouveau !" }, { text: "Redémarrez le noyau Jupyter.", explain: "Essayez à nouveau. Le redémarrage du noyau ne fera pas disparaître l'erreur comme par magie !", } ]} />
6. Quelle est la meilleure façon de faire corriger un problème sur GitHub ?
bug.", explain: "C'est la meilleure façon d'aider les mainteneurs à trouver votre bogue. Que devez-vous faire d'autre ?", correct: true }, { text: "Demandez chaque jour une mise à jour.", explain: "Il est peu probable que cela vous apporte de l'aide. Les gens vous ignoreront probablement davantage.", }, { text: "Inspectez le code source autour du bogue et essayez de trouver la raison pour laquelle il se produit. Postez les résultats dans le problème.", explain: "Cela aidera certainement les mainteneurs ! Et si vous trouvez la source du bogue et un correctif, vous pouvez même ouvrir une demande de modification. Que devez-vous faire d'autre ?", correct: true } ]} />
7. Pourquoi le surapprentissage à un batch est-il généralement une bonne technique de débogage ?
8. Pourquoi est-ce une bonne idée d'inclure des détails sur votre environnement de calcul avec transformers-cli env lorsque vous créez une nouvelle question dans le dépôt 🤗 Transformers ?
Xet Storage Details
- Size:
- 6.78 kB
- Xet hash:
- 82d7c7733c0c41300e23c15b37c44f42b299d163d64a05ab653aac41d199663a
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.