本企画では図1-05のようにディープラーニングのハードウエア化を進めます。一番上の@からスタート、一番下のDがゴールです。
@Python(小数)で画像認識(10,000枚)
まずはPythonで書かれたプログラムを普通に実行します。
10,000枚のテスト画像(x)で推論を行い、正解率(Accuracy)を確認します。
APython(整数)で画像認識(10,000枚)
パソコンで計算するぶんには小数でよいのですが、FPGAでは小数の演算は行えません(*1)。したがってPythonの段階から整数化して実行します。
10,000枚のテスト画像(x)で推論を行います。整数化によって正解率は低下しますが、それが許容範囲か確認します。
テスト画像1枚分のデータ、重みの行列(W)、バイアスの配列(b)をファイルに落とします。これらはすべて整数になっています。
必要に応じて計算の途中経過もファイルに落とします。
(*1)FPU(Floating Point Unit)を内蔵していれば行えるが、そのようなFPGAは少数派である
|