前章までで作成されたモデル(ニューラルネットワークと最適化されたパラメータの組み合わせ)を用いて、
測定値または何らかの方法で作成されたS行列画像から誘電率分布を推定することを推論(inference)と呼びます。
図6-1に推論の手順を示します。
以下の2つのファイルを用意します。
推論を行うにはファイルfddl.pyを以下のように編集してください。
リスト6-1 推論の設定(fddl.pyの一部)
# S行列ファイル fdtd_bin = 'fdtd.bin' # S行列ファイル名 # モデルファイル modelfile = 'fddl.pth' # モデルファイル名 load_model = 1 # modelfileを読み込むので1とする save_model = 0 # modelfileを保存しないので0とする # 計算パラメーター ndata = 1 # データ数(1以上、通常1) batch_size = 50 # バッチサイズ, 結果に関係ないのでダミー(50のままでよい) num_epochs = 0 # エポック数、反復計算をしないので0とする component = 1 # S行列成分, 1=S, 2=Re(S),Im(S), 3=Re(S),Im(S),S train_ratio = 0 # 訓練しないので0とする
推論を行うには下記のコマンドを実行してください。計算時間は一瞬です。
$ python fddl.py
推論結果を図形出力するにはplot.pyを下記のように編集した後、
下記のコマンドを実行してください。
_plot2d_labels((6, 5), 1, 1, labels, preds) .... plotutils.contour(figsize, mx, my, mstep, p2, vmin, vmax, str_dif, 'pred')
$ python plot.py
図6-2に2次元モデルの図形出力例を示します。
3次元モデルのときは図4-7のような図が出力されます。