質問: numerical_gradient(loss_W, self.params['b2']) return grads ``` ### 試したこと numerical_gradient関数の中にprintを書いて、何回printされるか試しました。 1回しかprintされず、よくわからなくなったためここで質問をしました。 ### 補足情報(FW/ツールのバージョンなど) 「ゼロから作るディープラーニング」4.5.2 p.113~114のプログラムです。 Githubにプログラムがアップロードされており、 https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch04 の「two_layer_net.py」です。 初心者のため、質問内容で疑問に思ったことがあれば質問していただけると自分がわかる範囲で答えます。 よろしくお願いします。
回答: `grads['W1'] = numerical_gradient(loss_W, self.params['W1'])`は自身(メンバ関数)ではなく `from common.gradient import numerical_gradient`で`import`した`numerical_gradient`関数を呼んでいるため 再帰はしていません。