Pour exploiter le plein potentiel de PyTorch, utiliser un GPU est nécessaire.
Cependant, lorsque vous avez placé vos tenseurs sur un GPU et que vous avez une erreur qui se produit dans votre code, vous risquez d’être confronté à un message d’erreur bien familier.
Ce message dit :
For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
Ainsi, vous ne pouvez pas voir le détail de l’erreur et vous êtes alors conseillé de passer CUDA_LAUNCH_BLOCKING=1.
Toutefois, pour le néophyte, ceci reste flou.
🚩 Problème :
Comment passer CUDA_LAUNCH_BLOCKING=1 pour débugger du code PyTorch lorsque le GPU est activé ?
✅ Solution :
Le message d’erreur mentionné plus haut peut avoir lieu lorsque les entrées données à une fonction de perte ne sont pas bonnes.
Quoiqu’il en soit, pour activer le débuggage PyTorch, il faut importer os, puis faire os.environ['CUDA_LAUNCH_BLOCKING'] = "1", et ensuite seulement importer torch :
import os
os.environ['CUDA_LAUNCH_BLOCKING'] = "1"
import torch

Laisser un commentaire