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ステートメントも自動的にステップ実行し、実行します。
Python 3.7から、組み込みの ブレークポイント関数 を使用できます。これが利用できない場合は、代わりにimport pdb; pdb.set_trace()
を使用できます。
次の行を実行する場合は、n
(ステップ)の代わりにs
(次)を試すことができます。