ディープ・ラーニング−ハードウエア化への道

Road to hardware implementation of Deep Learning


●ディープ・ラーニングのハードウエア化に挑戦します

●FPGAなどに実装して高速化、低消費電力化を目指します

●PythonやCで書かれたソフトウエアのハード化(HDL化)の方法論

●不定期ですが随時更新する予定です。リンクがない章はしばらくお待ちください



DIGITALFILTER.COM





第1章 ハードウエア化への前処理

1-01 ディープラーニングをFPGAに実装する理由

1-02 本企画のロードマップ

1-03 まずは普通にPythonで実行

1-04 入力、重み、バイアスなどすべて整数化してみる

1-05 PythonからEXCELに移植してみる



第2章 ともかくVHDLで記述してみる

2-01 VHDL化への流れ

2-02 回路図とタイム・チャート

2-03 VHDLを書く

2-04 論理シミュレーション

コラム21 VHDLファイルの自動生成(重み、画像、バイアスROM)



第3章 VHDLの並列化とパイプライン化

3-01 1層目の行列演算を並列化する

3-02 2層目の行列演算を並列化する

3-03 パイプライン化する



第4章 ZYBOというFPGAボードに実装する

4-01 全体のブロック図

4-02 ZYBOでLinuxを走らせる手順

4-03 ディープラーニング回路を含んだビットストリームの生成

4-04 ディープラーニング回路の動作確認

4-05 リアルタイム性と安定性の確認

コラム41 ROM/RAMに確実に割り当てられるVHDLコーディング

動画41 FPGAで推論が11usでできていることを確認


第5章 Linuxアプリから画像を100枚送り込む

5-01 Linuxで画像を送ったり表示したりする

5-02 PS部はデバイスドライバを介してレジスタを操作

5-03 PL部の回路を変更してビットストリーム再生成

5-04 推論結果をLinux上で画像とともに確認

コラム51 画像処理の定番ライブラリ、OpenCVのインストール


動画51 PS部からPL部に画像を100枚送って推論