PyTorchのtorch.Tensorにおけるrequires_gradについての質問です。
requires_grad=Falseにした場合、当該Tensorについての勾配(grad)は保持されないと思いますが、これはどのように実現されているのでしょうか?
以下の2パターンが考えられると思います。
①requires_grad=FalseにしたTensorは、計算グラフから除外される。つまり、順伝播実行時、requires_grad=TrueにしたTensorのみで計算グラフは作られる。
②requires_grad=FalseにしたTensorでも、計算グラフの一部になり、Functionクラスとの結びつきが作られるが、逆伝播時、そのTensorの勾配計算は行われない。
requires_grad=Falseとrequires_grad=Trueの変数が入り混じった計算であれば、①では問題があるため、個人的には②だと思うのですが。
回答よろしくお願い致します。
あなたの回答
tips
プレビュー