yalue/onnxruntime_go
A Go (golang) library wrapping microsoft/onnxruntime.
解決する課題
このライブラリは、ONNX形式のニューラルネットワークをロードして実行するためのシンプルなGo (Golang) インターフェースを提供します。特にクロスプラットフォームの互換性の課題に対処し、Windows、Linux、macOS上のGoでONNX RuntimeのC/C++ APIを使用できるようにすることで、WindowsにおけるCGoとMSVC間の一般的なコンパイラ競合を克服します。
仕組み
onnxruntime のソースコードに依存する代わりに、このライブラリは実行時に onnxruntime の共有ライブラリ(DLLまたは.so)を手動でロードします。これにより、特定のコンパイラへの依存が排除され、Goのジェネリクスを使用してさまざまなTensorデータ型をサポートすることが可能になります。CUDA、TensorRT、CoreMLを含む、ハードウェアアクセラレーションのための複数の実行プロバイダーをサポートしています。
対象者
C++コードを書いたり、複雑なクロスプラットフォームのビルド設定に対処したりすることなく、学習済みのONNXニューラルネットワークをアプリケーションに統合したいGo開発者。
ハイライト
- クロスプラットフォーム対応: Windows、Linux、macOSで動作します。
- ハードウェアアクセラレーション: CUDA、TensorRT、CoreMLの実行プロバイダーをサポートしています。
- ジェネリックTensor: Goのジェネリクスを使用して、複数のTensorデータ型を効率的に処理します。
- 柔軟なセッション管理: 入出力Tensorを精密に制御する
AdvancedSessionと、実行中に柔軟なTensor指定が可能なDynamicAdvancedSessionを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト