web-dev-qa-db-ja.com

Google Colabでのデバッグ

Google Colabの単一セルで次のコードスニペットを実行しています。

%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)

何が起こっているのかを理解するために、コードをデバッグします(1行ずつステップスルーします)。関数nn.Linearの中に足を踏み入れたい。

ただし、ステップスルーすると、関数がまったく機能しません。 nn.Linearを1行ずつステップスルーする方法はありますか?また、nn.Linearにブレークポイントを正確に設定するにはどうすればよいですか?また、スニペットも1行ずつステップ実行したいと思います。ただし、図に示すように、stepコマンドはprintステートメントも自動的にステップ実行し、実行します。

Step_though_collab

10
thegreatcoder

Python 3.7から、組み込みの ブレークポイント関数 を使用できます。これが利用できない場合は、代わりにimport pdb; pdb.set_trace()を使用できます。

次の行を実行する場合は、n(ステップ)の代わりにs(次)を試すことができます。

5
Querenker