Java APIでモデルの構築、学習、実行ができる、特定のエンジンに依存しないJava向け深層学習フレームワーク。
fastmachinelearning/hls4ml
Keras、PyTorch、ONNXのニューラルネットワークを、FPGAでのML推論向けHLSコードに変換するPythonパッケージです。
- スター
- 2,197
- フォーク
- 615
- 未解決の Issue
- 62
- 最終コミット
- 昨日
これは何?
hls4mlは、機械学習モデルを高位合成(HLS)コードに変換し、FPGA向けファームウェアを生成します。一般的なフレームワークで学習済みのモデルを用意し、設定ファイルを使ってHLSプロジェクトを生成した後、対応するベンダーのツールチェーンでビルドしてハードウェアを作成します。
超低遅延の推論を目的としており、高エネルギー物理学、特に大型ハドロン衝突型加速器のL1トリガーシステムを起源とします。量子コンピューティングの制御、核融合のフィードバックループ、衛星による環境モニタリング、生体信号処理などの分野でも利用されています。
Vivado HLSに加え、ビルドバックエンドとしてVitis HLS、Intel HLS、Catapult HLS、Altera HLS IP Genに対応しています。PyPIまたはconda-forgeからインストールでき、プロファイリング用の追加機能も用意されています。
主な機能
- 01Keras、PyTorch、ONNXのモデルをHLSプロジェクトに変換します。
- 02Vivado、Vitis、Intel、Catapult、Alteraなど、複数のHLSバックエンドに対応しています。
- 03設定ファイルを使って生成するデザインを構成できます。
- 04プロジェクトを合成するビルド工程と、結果を読み取るレポートリーダーを備えています。
- 05pipまたはconda-forgeからインストールできます。
ユースケース
- FPGAハードウェア上でニューラルネットワークを動かし、リアルタイムのトリガー判定を行う。
- 組み込みFPGAボード上で、低遅延の制御モデルや信号処理モデルを実行する。
- 設計を確定する前に、学習済みモデルがFPGAリソースにどのように割り当てられるかを評価する。
クイックスタート
- 1
PyPIからhls4mlをインストールする
pip install hls4ml - 2
Kerasモデルのサンプルとその設定を取得する
import hls4ml - 3
モデルをHLSプロジェクトに変換する
hls_model = hls4ml.converters.keras_v2_to_hls(config) - 4
Vivado HLSまたはその他の対応HLSツールでプロジェクトをビルドする
hls_model.build()
使う前に知っておきたいこと
- 生成されたファームウェアのビルドには、Vivado HLS、Vitis HLS、Intel HLSなどの別途用意したHLSツールチェーンが必要です。
- 対象はFPGAでの推論のみで、汎用的なモデルの学習や実行には対応していません。
トピック
よくある質問
- hls4ml とは?
- Keras、PyTorch、ONNXのニューラルネットワークを、FPGAでのML推論向けHLSコードに変換するPythonパッケージです。 hls4mlは、機械学習モデルを高位合成(HLS)コードに変換し、FPGA向けファームウェアを生成します。一般的なフレームワークで学習済みのモデルを用意し、設定ファイルを使ってHLSプロジェクトを生成した後、対応するベンダーのツールチェーンでビルドしてハードウェアを作成します。
- hls4ml は無料で使えますか?ライセンスは?
- hls4ml は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hls4ml は今もメンテナンスされていますか?
- 活発にメンテナンス中。hls4ml の最終コミットは 2026年11月4日 です。
- hls4ml は何に使えますか?
- FPGAハードウェア上でニューラルネットワークを動かし、リアルタイムのトリガー判定を行う。 組み込みFPGAボード上で、低遅延の制御モデルや信号処理モデルを実行する。 設計を確定する前に、学習済みモデルがFPGAリソースにどのように割り当てられるかを評価する。
- hls4ml のインストール方法は?
- PyPIからhls4mlをインストールする: pip install hls4ml Kerasモデルのサンプルとその設定を取得する: import hls4ml モデルをHLSプロジェクトに変換する: hls_model = hls4ml.converters.keras_v2_to_hls(config) Vivado HLSまたはその他の対応HLSツールでプロジェクトをビルドする: hls_model.build()
- hls4ml はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/fastmachinelearning/hls4ml
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
モバイル、組み込み機器、デスクトップで深層学習モデルを実行するための、高性能なC++ニューラルネットワーク推論フレームワークです。
MLIRベースのコンパイラとランタイム。MLモデルを統一IRに変換し、データセンターからモバイル・エッジデバイスまで展開できます。
ONNXとNNEFのモデルを読み込み、CPU、Apple Metal、NVIDIA CUDA、WebAssemblyで実行できる、自己完結型のRust推論エンジン。
ONNX、TensorFlow、PyTorch、Core MLなど、多くの形式に対応したニューラルネットワーク、ディープラーニング、機械学習モデルのビューア。
ONNX形式にエクスポートしたMLモデルを実行するクロスプラットフォームのアクセラレーター。PyTorchスクリプトでの学習にも対応します。