hasktorch
functorch
hasktorch | functorch | |
---|---|---|
15 | 11 | |
1,015 | 1,372 | |
0.9% | 0.4% | |
7.2 | 0.0 | |
7 days ago | 5 days ago | |
Haskell | Jupyter Notebook | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hasktorch
- BLAS GPU bindings
-
Trying out Hasktorch but ghc supported versions conflicts on MacOS M1/2
I assume you are getting https://github.com/hasktorch/hasktorch/issues/631? I suspect you need to upgrade to GHC 9.2 to work reliably on M1.
-
Is Haskell okay for prototyping machine learning models for research (discovery and exploration)
You might find the Deep Learning From The First Principles tutorials by Bogdan Penkovsky an interesting survey of native Haskell implementations of deep neural networks, and a bit more. It demonstrates some native charting capabilities, and Day 9 uses Hasktorch.
-
Need help Integrating Hasktorch into my Haskell Jupyter environment using Nix
I'm new to Nix and I'm trying to set up a Jupyter notebook environment for Haskell that includes the Hasktorch package. I'm using the jupyenv project from Tweag as the foundation, and I've been able to get it working with some basic Haskell packages. However, I'm running into issues when I try to add Hasktorch to the mix.
-
[D] Have their been any attempts to create a programming language specifically for machine learning?
That said, there are some things that try to do this. Haskell has a port of torch called HaskTorch that includes this kind of typed tensor shapes, and calls the Z3 theorem prover on the backend to solve type inference. It can get away with this because of the LiquidHaskell compiler extension, which has refinement types capable of solving this kind of typing problem, and is already pretty mature. Dex is a research language from Google that's based on Haskell and built to explore this kind of typechecking. Really you'd want to do this in Rust, because that's where the tradeoff of speed and safety for convenience makes the most sense, but rust is just barely on the edge of having a type system capable of this. You have to get really clever with the type system to make it work at all, and there's been no sustained push from any company to develop this into a mature solution. Hopefully something better comes along soon
-
Haskell deep learning tutorials [Blog]
As rightfully pointed u/gelisam, both Hasktorch and Pytorch are essentially the same things (bindings to existing Torch library). Therefore, it should be generally possible to use existing pretrained models. Here is an example.
-
base case
I think it's likely that http://hasktorch.org/ is the library you will want to use for AI models, once you feel comfortable with Haskell.
-
looking for simple regression (or classification) library
IF (big if) it turns out you do need deep learning then doing it in Hasktorch http://hasktorch.org/ could be a fun learning project. The team making it is super nice and responsive, too
-
Haskell for Artificial Intelligence?
This said, if you want do do deep learning Python is the obvious choice atm, if only for copy-pasting code from examples (however do you know HaskTorch? https://github.com/hasktorch/hasktorch/ )
- GPU-based deep learning in Haskell
functorch
-
What is the most efficient approach to ensemble a pytorch actor-critic model?
I would suggest checking https://pytorch.org/functorch/ and https://github.com/metaopt/torchopt for efficient inference and training with ensembles (e.g., t be independent actors in a multi-agent setting or multiple critics).
-
[P] Multidimensional array batch indexing for pytorch and numpy
There were some bugs still with advanced indexing in an older release of functorch, I believe they should be fixed now though: https://github.com/pytorch/functorch/pull/862
- Functorch: Jax-like composable function transforms for PyTorch
-
Jax vs. Julia (Vs PyTorch)
Tangentially related but there is an effort to get some of the features of JAX into PyTorch: https://pytorch.org/functorch/
-
[D] Current State of JAX vs Pytorch?
Fwiw, composable vmap and stuff like that have also been implemented in PyTorch now - see functorch :) https://github.com/pytorch/functorch
-
[D] Ideal deep learning library
Fwiw, it’s not like Pytorch’s design prevents function transformations from being implemented. See functorch for an example of grad/vmap function transforms: https://github.com/pytorch/functorch
-
[P] Made Some Pytorch Modules For Agent Systems
You may find vmap from functorch to be quite useful: https://github.com/pytorch/functorch
-
[D] Are you using PyTorch or TensorFlow going into 2022?
If you're interested in function transformations in PyTorch, try out functorch :) https://github.com/pytorch/functorch
- PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)
-
Show HN: How does Jax allocate memory on a TPU? An interactive C++ walkthrough
The pytorch programming model is just really hard to adapt to an XLA-like compiler. Imperative python code doesn't translate to an ML graph compiler particularly well; Jax's API is functional, so it's easier to translate to the XLA API. By contrast, torch/xla uses "lazy tensors" that record the computation graph and compile when needed. The trouble is, if the compute graph changes from run to run, you end up recompiling a lot.
I guess in Jax you'd just only apply `jax.jit` to the parts where the compute graph is static? I'd be curious to see examples of how this works in practice. Fwiw, there's an offshoot of pytorch that is aiming to provide this sort of API (see https://github.com/pytorch/functorch and look at eager_compilation.py).
(Disclaimer: I worked on this until quite recently.)
What are some alternatives?
grenade - Deep Learning in Haskell
jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more
dex-lang - Research language for array processing in the Haskell/ML family
nn - 🧑🏫 60 Implementations/tutorials of deep learning papers with side-by-side notes 📝; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, sophia, ...), gans(cyclegan, stylegan2, ...), 🎮 reinforcement learning (ppo, dqn), capsnet, distillation, ... 🧠
finito - A constraint solver for finite domains, written in Haskell.
onnx-simplifier - Simplify your onnx model
tensor-safe - A Haskell framework to define valid deep learning models and export them to other frameworks like TensorFlow JS or Keras.
torch2trt - An easy to use PyTorch to TensorRT converter
Etage - A general data-flow framework featuring nondeterminism, laziness and neurological pseudo-terminology.
BinaryBuilder.jl - Binary Dependency Builder for Julia
futhark - :boom::computer::boom: A data-parallel functional programming language
py2many - Transpiler of Python to many other languages