14-02 小数→整数化→ビット削減・リミッタと進める(続き)
●Pythonの実行環境はAnaconda
Jupyter Labを立ち上げ、lisa_float.pyを走らせます(学習に30分ほど、推論に数分かかる)。正解率は図14‐14のように97%台になりました(学習のたびに微妙に変わります)。 |

図14‐14 正解率97.457%(小数)
●まずは小数で学習→推論
図14‐15のように「信号機認識用」の重み係数とバイアスのファイルが生成されています。これらの値は全て小数になっています。 |

図14-15 GTSRBと同じように6個の重みと6個のバイアスファイル
●整数化すると若干正解率が落ちる
次は整数化したPython(lisa_int.py)を実行します(整数化の手法はGTSRBと同じ)。正解率は図4‐16のように96%台になりました(*1)。
(*1)w1〜6、b1〜6はこれを使うとよい。小数の時点で正解率の良い係数とバイアスを整数化する |

図14-16 正解率96.574%(整数)
●回路規模削減のためのビット削減/リミッタ
最後にビット数削減、リミッタ追加したPython(lisa_pred.py)を実行します。正解率は図4‐17のように95%台になりました。この状態でハード化を進めます。 |

図14-17 正解率95.798%(ビット削減/リミッタ)
●クラス7種×5枚づつ、計35枚表示
プログラムの最後にテスト画像が35枚表示されます。そのうち2枚(図14‐18の赤線)が不正解です。 |

図14-18 左端1列目はgo, 2列目はgoFoward... と各クラス5枚づづ表示
●以降の手順はGTSRBと同じ
整数化された係数や画像ファイル(図14‐19)等を使ってEXCEL化→VBAでHDLを自動生成→HDLファイルを一部入れ替えてFPGAに実装、と進みます(*2)。
(*2)すんなり動けばOK、動かなければロジックアナライザや論理シミュレーションで確認します。 |

図14-19 Pythonが書き出したCSVをEXCELに貼り付ける
最初のページへ
目次へ戻る
|