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。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案