このブログでは次のことについて説明します。
PyTorch のパラメータとは何ですか?
PyTorch では、「 nn.モジュール ” クラスはモデルの定義に使用されます。これには、モデルを構成するすべての操作とレイヤーが含まれます。すべてのレイヤーにはパラメータのセットが含まれています。パラメーターは基本的に、モデルの実際の値と予測の間の誤差を最小限に抑えるためにトレーニング中に更新されます。
ユーザーがモデルのパラメータを確認する必要があるのはなぜですか?
モデルのトレーニングには多くのメモリと処理能力が必要となるため、ユーザーはモデルのパラメーターの数を把握する必要があります。モデルのパラメータの数をよく知っていれば、必要なメモリの量とトレーニングにかかる時間を簡単に評価できるため、ユーザーはトレーニング プロセスを最適化し、システムのメモリ不足を防ぐことができます。空間。
PyTorch でモデル パラメーターの数を表示するには?
” nn.モジュール 「クラスには」があります パラメーター() 」メソッドは、PyTorch モデル内のモデル パラメーターの数を表示するために使用されます。すべての要素を取得するには、「 num1() 」という手法が使われています。
前に説明した概念を理解するために、提供されているコードを見てみましょう。
輸入 松明。 ん として ん
クラス NNモデル ( ん。 モジュール ) :
確かに __熱い__ ( 自己 ) :
素晴らしい ( NNモデル 、 自己 ) 。 __熱い__ ( )
自己 。 fc1 = ん。 線形 ( 10 、 50 )
自己 。 fc2 = ん。 線形 ( 50 、 1 )
確かに フォワード ( 自己 、 私 ) :
私 = 自己 。 fc1 ( 私 )
私 = 自己 。 fc2 ( 私 )
戻る 私
私のモデル = NNモデル ( )
t_params = 和 ( p. 名付ける ( ) のために p で 私のモデル。 パラメーター ( ) )
印刷する ( f 「パラメータの総数: {t_params}」 )
上記のコードでは次のようになります。
- まず、2 つの線形層を持つモデルを定義します。
- 次に、モデルのインスタンスを生成し、「 パラメーター() 」メソッドを使用してすべてのパラメータを取得します。
- 次に、ジェネレータ式を適用して、各パラメータの要素数を合計することですべてのパラメータを計算します。
- 最後に「」を呼び出します。 プリント() ” ステートメントを使用して、結果の値を画面に表示します。
上記のコードでは、パラメーターの合計数のみを表示しました。パラメーターの名前とサイズを取得したい場合は、次のコード行を使用できます。
のために 名前 、 パラメータ で 私のモデル。 state_dict ( ) 。 アイテム ( ) :印刷する ( 名前 、 パラメータ。 サイズ ( ) )
ここ:
- 「 state_dict() 」は、PyTorch からモデルを保存およびロードするために利用される Python 辞書オブジェクトです。
- 「 アイテム() 」メソッドを使用して、すべての辞書キーと値を含むリストを返します。
- 「 プリント() ” ステートメントは、” を渡すことでパラメータの名前とサイズを出力するために使用されます。 サイズ() ” メソッドとパラメータ:
それだけです! PyTorch でモデル パラメーターの数を出力する最も簡単な方法をコンパイルしました。
結論
PyTorch では、「 nn.モジュール ” クラスは、モデルを構成するすべての操作とレイヤーを含むモデルを定義するために使用されます。 ” nn.モジュール 「クラスには」があります パラメーター() 」メソッドは、PyTorch モデル内のモデル パラメーターの数を表示するために使用されます。この記事では、PyTorch でモデル パラメーターの数を出力する方法を説明しました。