This project is in early development and should only be used by contributing developers. Expect substantial changes to the library API as it evolves. Contributions and PRs are welcome (see details below).
||Code generation to produce low-level raw Haskell bindings. Also includes experimental aten cwrap file parsing.|
||Memory-managed tensors and core data types that wrap raw C bindings to TH.|
||Examples of basic usage and experimental prototypes|
||Staging directory for
||Comprehensive raw bindings to C TorcH (TH) operations.|
||3rd party dependencies as git submodules (links to TH C and other libraries)|
Currently hasktorch only supports OSX and Linux builds. Building Hasktorch requires retrieving and building C++ torch dependencies as submodules followed by building with the Stack tool. These steps are done automatically using the Makefile:
For details on implementation and usage of raw C bindings and the core library,
refer to their respective README documentation in
core/ package directories. Additional examples can be found in
examples/ as well as the test modules.
We welcome new contributors. For a rough list of outstanding items on deck (there are many places to contribute), refer to:
Contact Austin Huang for access to the private hasktorch slack channel at:
Thanks to all hasktorch developers who have contributed to this community effort so far. This project is also indebted to prior work on typed functional programming for deep learning by Justin Le, Huw Campbell, and Kaixi Ruan, as well as to the Torch and PyTorch frameworks.