hasktorch/hasktorch
Tensors and neural networks in Haskell
解決的問題
Hasktorch 提供了一種使用 Haskell 程式語言建立張量與神經網路的方法,讓開發者能在強型別的函數式環境中,利用 PyTorch 核心 C++ 庫的強大功能。
工作原理
它作為一個 Haskell 庫,利用 PyTorch 共用的核心 C++ 庫(libtorch)。透過低階的外部函數介面(FFI)與程式碼產生,將 PyTorch 的 C++ 功能綁定至 Haskell。該庫在建置過程中會自動下載並快取適用於各種平台的官方 libtorch 二進位檔,包含對 CPU、CUDA 與 Apple 的 MPS 後端的支援。
適用對象
希望使用函數式程式語言實作深度學習模型與張量運算的 Haskell 開發者與研究人員。
主要亮點
- PyTorch 整合:基於與 PyTorch 相同的 C++ 核心建構。
- 跨平台支援:支援 Linux(CPU/CUDA)、macOS Apple Silicon(CPU/MPS)與 macOS Intel(CPU)。
- 自動設定:在建置過程中自動下載並快取所需的 libtorch 二進位檔。
- 彈性建置工具:相容 Cabal、Stack 與 Nix。
相關
- 專案
- 專案
- 專案
- 專案
- 專案