目次

6. 推論

6.1 推論

前章までで作成されたモデル(ニューラルネットワークと最適化されたパラメーターの組み合わせ)を用いて、 放射パターンの測定値または何らかの方法で作成されたものから電流分布を推定することができます。 これを推論(inference)と呼びます。

図6-1に推論の手順を示します。
以下の2つのファイルを用意します。

  1. mom.bin: モーメント法で出力されるmom.binと同じ書式と配列の大きさであり、 これに放射パターンデータを代入したもの。 電流分布データは不要なのでダミー(例えばすべて0)でもよい。
  2. dlant.pth: 前章までで作成されたパラメーターファイル


図6-1 推論の手順

推論を行うにはファイルdlant.pyを以下のように編集してください。

リスト6-1 推論の設定(dlant.pyの一部)


    # 計算パラメーター
    load_model = 1     # 1:modelfileを読み込む
    save_model = 0     # 0:modelfileは保存しない
    ndata = -1         # データ数, -1のときはすべてのデータ
    batch_size = 50    # バッチサイズ(=50:ダミー)
    num_epochs = 0     # エポック数(=0)
    train_ratio = 0    # 訓練データの割合(=0)

推論を行うには下記のコマンドのいずれかを実行してください。計算時間は一瞬です。

$ python dlant.py (ソースコード内でImode=2とし、datafileとmodelfileを指定する)
$ python dlant.py 2 datafile(ソースコード内でmodelfileを指定する)
$ python dlant.py 2 datafile modelfile

推論結果を図形出力するには下記のコマンドのいずれかを実行してください。

$ python post.py  (ソースコード内の変数figmodeで電流を指定する)
$ python post.py 1 (線分電流を図形出力するとき)
$ python post.py 2 (セル電流を図形出力するとき)

6.2 推論のテスト例

図6-2に8ケースの簡単なアンテナ形状の電流分布を推定した結果を示します。
図は2個1組になっており、左が正解値、右が推定値です。 左の黒数字はデータ番号と電流最大値、右の赤数字はデータ番号と電流値の誤差の平均です。
電流分布はよく一致していますが、一部電流値が小さい所では推定結果に誤差が見られます。
なお、学習時のアンテナ形状は4セル間隔(最小分解能が4セル)なので、 推論用のアンテナ形状も同条件にする必要があります。


図6-2 電流分布の推論結果(左:正解、右:推定)