hasktorch/hasktorch

Tensors and neural networks in Haskell

何を解決するか

Hasktorch は Haskell プログラミング言語を使用してテンソルやニューラルネットワークを構築する方法を提供し、強力な型安全性を持つ関数型環境の中で PyTorch のコア C++ ライブラリの力を活用できるようにします。

動作方法

これは PyTorch が共有するコア C++ ライブラリ(libtorch)を活用する Haskell ライブラリとして機能します。低レベルの Foreign Function Interface (FFI) とコード生成を使用して、PyTorch の C++ 機能を Haskell にバインドしています。ライブラリは、CPU、CUDA、Apple の MPS バックエンドを含むさまざまなプラットフォーム向けの公式 libtorch バイナリをビルド時に自動的にダウンロードおよびキャッシュします。

対象ユーザー

関数型プログラミング言語を使ってディープラーニングモデルやテンソル演算を実装したい Haskell 開発者や研究者。

特徴

  • PyTorch との統合: PyTorch が使用する同じ C++ コアに基づいて構築されています。
  • クロスプラットフォーム対応: Linux (CPU/CUDA)、macOS Apple Silicon (CPU/MPS)、macOS Intel (CPU) で動作します。
  • 自動セットアップ: ビルドプロセス中に必要な libtorch バイナリを自動的にダウンロードおよびキャッシュします。
  • 柔軟なビルドツール: Cabal、Stack、Nix と互換性があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト