PyTorch でモデルパラメータの数を出力する方法

Pytorch Demoderuparametano Shuwo Chu Lisuru Fang Fa



PyTorch は、深層学習で使用される人気のあるフレームワークです。複雑なニューラル ネットワーク (NN) を生成するための複数の機能を提供します。ユーザーは、このフレームワークを使用してモデルのトレーニング操作を実行できます。ただし、ユーザーはモデルをトレーニングする前にパラメーターの数を理解しておく必要があります。

このブログでは次のことについて説明します。

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 でモデル パラメーターの数を出力する方法を説明しました。