会社のブログログイン登録スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。(投稿順)1最適化アルゴリズムと損失関数は独立しているので、明示的な結びつきは行われていないのです。損失関数は、パラメタの勾配を.backward()で算出します。勾配の値はパラメタ自体に蓄積されます。最適化アルゴリズムは、このパラメタ自体が持つ勾配情報を用いてパラメタ値の更新を行います。このとき勾配のみを見るので損失関数はどんなものかを最適化アルゴリズムは知る必要がありません。最適化アルゴリズムはnet.parameters()によって更新対象のパラメタ一覧を取得します。ここにモデルの一部のパラメタしか渡さなければ、その一部のパラメタの更新しか行われません。ちなみにoptimizer.zero_grad()はnet.parameters()のパラメタの勾配を全て0に更新します。loss_fn.backward()を行うと前回の勾配+新規勾配が蓄積されるので、新規勾配を計算する前に前回までの勾配情報をリセットしているのです。|この質問に回答するには、ログインする必要があります。求めていた回答ではありませんか?python深層学習pytorchのタグが付いた他の質問を参照する。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。従って情報を開示できることに同意したことになります。選択した項目のみ受け入れる。