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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目