web-dev-qa-db-fra.com

Débogage dans Google Colab

J'exécute l'extrait de code suivant dans google colab dans une seule cellule:

%debug
# Create tensors of shape (10, 3) and (10, 2).
x = torch.randn(10, 3)
y = torch.randn(10, 2)

# Build a fully connected layer.
linear = nn.Linear(3, 2)
print ('w: ', linear.weight)
print ('b: ', linear.bias)

Je souhaite déboguer un morceau de code (le parcourir ligne par ligne) pour comprendre ce qui se passe. Je souhaite entrer dans la fonction nn.Linear.

Cependant, lorsque je passe à travers, il n'entre pas du tout dans la fonction. Existe-t-il un moyen de parcourir nn.Linéaire ligne par ligne? De plus, comment définir exactement un point d'arrêt dans nn.Linear? En outre, je souhaite également parcourir l'extrait ligne par ligne. Cependant, comme le montre l'image, la commande step parcourt automatiquement et exécute également l'instruction print.

Step_though_collab

10
thegreatcoder

Depuis Python 3.7, vous pouvez utiliser une fonction intégrée fonction de point d'arrêt . Si elle n'est pas disponible, vous pouvez utiliser import pdb; pdb.set_trace() à la place.

Si vous souhaitez exécuter la ligne suivante, vous pouvez essayer n (suivant) au lieu de s (étape).

5
Querenker