https://github.com/fsprojects/furnace
Production-grade ML - F# power & precision guiding Torch performance
https://github.com/fsprojects/furnace
ai data-science differential-equations dotnet fsharp llm-framework machine-learning ml optimization
Last synced: 24 days ago
JSON representation
Production-grade ML - F# power & precision guiding Torch performance
- Host: GitHub
- URL: https://github.com/fsprojects/furnace
- Owner: fsprojects
- License: bsd-2-clause
- Created: 2025-02-13T21:59:00.000Z (3 months ago)
- Default Branch: dev
- Last Pushed: 2025-02-20T15:12:23.000Z (2 months ago)
- Last Synced: 2025-03-31T10:01:02.286Z (about 1 month ago)
- Topics: ai, data-science, differential-equations, dotnet, fsharp, llm-framework, machine-learning, ml, optimization
- Language: F#
- Homepage: https://fsprojects.github.io/Furnace
- Size: 161 MB
- Stars: 40
- Watchers: 3
- Forks: 4
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
-----------------------------------------
> **NOTE: This repository is undergoing revision and updating. It has incomplete code, functionality, and design that are likely to change without notice; when using TorchSharp backend, only x64 platform is currently supported out of the box, see [DEVGUIDE.md] for more details.**
Furnace is a tensor library with support for [differentiable programming](https://en.wikipedia.org/wiki/Differentiable_programming). It is designed for use in machine learning, probabilistic programming, optimization and other domains.
**Key features**
* Nested and mixed-mode differentiation
* Common optimizers, model elements, differentiable probability distributions
* F# for robust functional programming
* PyTorch familiar naming and idioms, efficient LibTorch CUDA/C++ tensors with GPU support
* Linux, macOS, Windows supported
* Use interactive notebooks in Jupyter and Visual Studio Code
* 100% open source## Documentation
You can find the documentation [here](https://fsprojects.github.io/Furnace/), including information on installation and getting started.
Release notes can be found [here](https://github.com/fsprojects/Furnace/blob/dev/RELEASE_NOTES.md).
## Communication
Please use [GitHub issues](https://github.com/fsprojects/Furnace/issues) to share bug reports, feature requests, installation issues, suggestions etc.
## Contributing
We welcome all contributions.
* Bug fixes: if you encounter a bug, please open an [issue](https://github.com/fsprojects/Furnace/issues) describing the bug. If you are planning to contribute a bug fix, please feel free to do so in a pull request.
* New features: if you plan to contribute new features, please first open an [issue](https://github.com/fsprojects/Furnace/issues) to discuss the feature before creating a pull request.## Background
Furnace is a hard fork of DiffSharp.
The original DiffSharp library was developed by [Atılım Güneş Baydin](http://www.robots.ox.ac.uk/~gunes/), [Don Syme](https://www.microsoft.com/en-us/research/people/dsyme/) and other contributors, having started as a project supervised by the automatic differentiation wizards [Barak Pearlmutter](https://scholar.google.com/citations?user=AxFrw0sAAAAJ&hl=en) and [Jeffrey Siskind](https://scholar.google.com/citations?user=CgSBtPYAAAAJ&hl=en).
## License
Furnace is licensed under the BSD 2-Clause "Simplified" License, which you can find in the [LICENSE](https://github.com/fsprojects/Furnace/blob/dev/LICENSE) file in this repository.