FPGA による AI 推論開発フロー
この開発フローでは、ハードウェアとソフトウェアのワークフローをエンドツーエンドの汎用 AI ワークフローにシームレスに組み合わせています。手順は次のとおりです。
1.OpenVINO™ ツールキットのモデル・オプティマイザーは、中間表現ネットワーク・ファイル (.xml)、重み、バイアスファイル (.bin) を作成します。
2.インテル® FPGA AI スイートのコンパイラーは、以下のように使用されます。
- 指定のアーキテクチャー・ファイルの推定領域またはパフォーマンス指標を提供するか、最適化したアーキテクチャー・ファイルを作成します。(アーキテクチャーとは、PE アレイのサイズ、精度、アクティベーション機能、インターフェイスの幅、ウィンドウのサイズなど推論 IP パラメーターのことを指します。)
- ネットワーク・ファイルを .bin ファイルにコンパイルし、FPGA と CPU (またはその両方) のネットワーク・パーティションと、重みとバイアスを設定します。
3.コンパイル済みの .bin ファイルは、実行中にユーザー推論アプリケーションでインポートされます。
- ランタイム・アプリケーション・プログラミング・インターフェイス (API) は、推論エンジン API (ランタイム・パーティション CPU と FPGA、スケジュール推論) と FPGA AI (DDR メモリー、FPGA ハードウェア・ブロック) が含まれています。
- リファレンス・デザインは、ホスト CPU (x86 および Arm プロセッサー) をサポートする FPGA で .bin のインポートと推論の実行という基本的な操作を示します。
注:
サポートされているデバイス: Agilex™ 7 FPGA、Cyclone® 10 GX FPGA、Arria® 10 FPGA
テスト済みのネットワーク、レイヤー、アクティベーション機能1:
- ResNet-50、MobileNet v1/v2/v3、YOLO v3、TinyYOLO v3、UNET、i3d
- 2D Conv、3D Conv、完全接続、Softmax、BatchNorm、EltWise Mult、クランプ
- ReLU、PReLU