1
00:00:05,280 --> 00:00:11,760
Utilisation du débogueur Python dans un notebook. Dans cette vidéo, nous allons apprendre à utiliser le

2
00:00:11,760 --> 00:00:17,040
débogueur Python dans un notebook Jupyter ou Colab. Pour cet exemple, nous exécutons le code de

3
00:00:17,040 --> 00:00:24,640
la section de classification des tokens. Téléchargeons le jeu de données Conll. Examinons un peu les données.

4
00:00:27,600 --> 00:00:30,080
Avant de charger un tokenizer pour prétraiter tout le jeu de données. 

5
00:00:32,640 --> 00:00:35,440
Consultez la section du cours liée ci-dessous pour plus d'informations.

6
00:00:36,800 --> 00:00:44,240
Une fois cela fait, nous essayons de regrouper certaines fonctionnalités du jeu de données d'entraînement avec `tokenizer.pad`

7
00:00:44,960 --> 00:00:51,280
Et nous obtenons l'erreur suivante. Nous utilisons PyTorch ici avec `return_tensors="pt"`, mais

8
00:00:51,280 --> 00:00:56,240
vous obtiendrez la même erreur avec TensorFlow. Comme nous l'avons vu dans la vidéo « Comment déboguer une erreur ? »,

9
00:00:56,240 --> 00:01:02,480
le message d'erreur est à la fin du « Traceback » et il indique que nous devrions utiliser le rembourrage, ce que nous

10
00:01:02,480 --> 00:01:07,680
essayons en fait de faire. Ce n'est donc pas utile du tout et nous devrons aller un peu plus loin pour déboguer le problème.

11
00:01:08,400 --> 00:01:13,040
Heureusement, vous pouvez utiliser le débogueur Python chaque fois que vous obtenez une erreur dans un notebook Jupyter

12
00:01:13,040 --> 00:01:23,680
en saisissant `%debug` dans n'importe quelle cellule. N'oubliez pas le « % » au début. Lors de l'exécution de cette cellule, vous accédez tout en bas du « traceback »

13
00:01:23,680 --> 00:01:28,560
où vous pouvez saisir des commandes pouvant aider à debogger votre script. Les deux premières commandes que vous devez

14
00:01:28,560 --> 00:01:41,760
apprendre sont « u » et « d » (pour monter et descendre). Tapez « u » puis « entrée » vous fait monter d'une étape dans le « Traceback ». Tapez « d » puis « entrée » vous fait descendre d'une étape dans le « Traceback ».

15
00:01:43,920 --> 00:01:46,720
En remontant deux fois, nous arrivons au point où l'erreur a été atteinte.

16
00:01:47,600 --> 00:01:53,840
La troisième commande à apprendre est « p », pour « print ». Elle vous permet d'imprimer n'importe quelle valeur que vous voulez.

17
00:01:54,560 --> 00:02:02,720
Par exemple, en tapant « p return_tensors » et « entrée » montre « pt » que nous avons renseigné dans la fonction `pad`.

18
00:02:02,720 --> 00:02:12,720
On peut aussi regarder ce qui se trouve dans l'objet `batch_outputs`. Le dictionnaire de `batch_outputs` est un peu difficile à voir,

19
00:02:12,720 --> 00:02:18,160
alors plongeons-y dans de plus petits morceaux. À l'intérieur du débogueur, vous pouvez non seulement imprimer n'importe quelle variable,

20
00:02:18,160 --> 00:02:28,240
mais également évaluer n'importe quelle expression. Par exemple, on peut regarder ce que contient l'objet `batch_outputs["inputs_ids"]` ou encore l'objet `batch_outputs["labels"]`

21
00:02:35,440 --> 00:02:41,360
Ces étiquettes sont vraiment bizarres : elles sont de différentes tailles, ce que nous pouvons en fait confirmer en

22
00:02:41,360 --> 00:02:49,840
imprimant les tailles avec une liste compressée.

23
00:02:52,160 --> 00:02:56,880
C'est parce que la méthode `pad` du tokenizer ne s'occupe que de la sortie du tokenizer :

24
00:02:56,880 --> 00:02:59,680
`input_ids`, `attention_mask` et `token_type_ids`.

25
00:03:00,240 --> 00:03:03,840
Nous devons donc rembourrer nous-mêmes les étiquettes avant d'essayer de créer un tenseur avec elles.

26
00:03:05,040 --> 00:03:11,440
Une fois que vous êtes prêt à quitter le débogueur Python, vous pouvez appuyer sur « q » puis « entrée » pour quitter. Une façon de corriger l'erreur

27
00:03:11,440 --> 00:03:21,600
consiste à rembourrer manuellement toutes les étiquettes à la plus longue. Une autre façon, est d'utiliser un assembleur de données spécialement pour la classification de tokens.

28
00:03:21,600 --> 00:03:26,000
Vous pouvez également le débogueur Python directement dans le terminal. Regardez la vidéo en description pour savoir comment