Deep Learning HDL Toolbox

ツールボックスのプログラム可能なディープラーニング プロセッサのブロック線図。

FPGA ベースのネットワーク推論の実行

スケジューリング ロジックによって制御される汎用ディープラーニング層を備えたプログラム可能なディープラーニング プロセッサを使用し、FPGA ベースのネットワーク推論を実行します (Deep Learning Toolbox を使用)。 

境界ボックスによる白いトラックの検出。

ネットワークのコンパイルおよび展開

ディープラーニング ネットワークを、ディープラーニング プロセッサで実行できるよう命令セットにコンパイルします。ネットワークを FPGA に展開し、デバイス上での実際のパフォーマンス メトリクスをキャプチャしながら予測を実行します。 

電子部品、コネクタ、チップが搭載された 3 種類の回路基板の写真。

事前構築済みの FPGA ビットストリームを使用して始める

利用可能な事前構築済みのビットストリームを使用して、LSTM (長・短期記憶) ネットワークをすばやくプロトタイピングします。ビットストリームの構成をカスタマイズして、リソース使用量要件を満たします。

例 (AMD | Altera)

FPGA 開発ボードへの接続を示す、Xilinx ビットストリームを使用したコードの抜粋。

ネットワークの FPGA への展開

Deep Learning Toolbox を使用して、RNN および CNN ネットワークの開発やネットワークのインポートを行います。次に、deploy 関数を使用して、AMD FPGA (SoC Blockset を使用) または Altera FPGA をプログラムします。 

MATLAB の while ループを使用して、predict 関数を呼び出します。

MATLAB アプリケーションでの FPGA ベースの推論の実行

テストベンチ、前処理および後処理のアルゴリズム、FPGA ベースのディープラーニング推論を含む完全なアプリケーションを MATLAB で実行します。predict 関数ひとつで、FPGA 上で推論を実行し、結果を MATLAB のワークスペースに返すことができます。 

例

FPGA 推論のプロファイリングとネットワーク設計の調整

プロファイル メトリクスを使用し、FPGA 上で予測を実行しながら層レベルのレイテンシを測定して性能のボトルネックを発見することで、ネットワーク構成を調整します。

FPGA 展開のためのネットワークの圧縮

量子化や枝刈りによりディープラーニング ネットワークを圧縮することで、リソース使用量を削減します。Deep Learning Toolbox Model Compression Library サポートパッケージを使用して、精度とリソース使用量とのトレードオフを解析します。

ディープラーニング プロセッサ構成のカスタマイズ

並列スレッド数や最大層サイズなど、ディープラーニング プロセッサを実装するためのハードウェア アーキテクチャのオプションを指定します。

カスタム ビットストリーム コーディングのスクリーンショット。

論理合成可能な RTL および IP コアの生成

HDL Coder を使用して、ディープラーニング プロセッサから論理合成可能な RTL を生成します。AMD および Altera SoC 設計に統合するための標準 AXI インターフェイスを備えた IP コアを生成します。