hasktorch VS equinox

Compare hasktorch vs equinox and see what are their differences.

hasktorch

Tensors and neural networks in Haskell (by hasktorch)

equinox

Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/ (by patrick-kidger)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
hasktorch equinox
15 31
1,015 1,809
0.9% -
7.2 9.2
8 days ago 12 days ago
Haskell Python
BSD 3-clause "New" or "Revised" License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of hasktorch. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-13.
  • BLAS GPU bindings
    1 project | /r/haskell | 6 Dec 2023
  • Trying out Hasktorch but ghc supported versions conflicts on MacOS M1/2
    2 projects | /r/haskell | 13 Mar 2023
    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)
    4 projects | /r/haskell | 27 Feb 2023
    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
    2 projects | /r/NixOS | 26 Feb 2023
    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?
    12 projects | /r/MachineLearning | 11 Feb 2023
    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]
    4 projects | /r/haskell | 23 Jan 2023
    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
    2 projects | /r/haskell | 19 Dec 2022
    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
    5 projects | /r/haskell | 28 Oct 2022
    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?
    6 projects | /r/haskell | 30 May 2022
    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
    1 project | /r/haskell | 26 Jan 2022

equinox

Posts with mentions or reviews of equinox. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-03.
  • Ask HN: What side projects landed you a job?
    62 projects | news.ycombinator.com | 3 Dec 2023
    I wrote a JAX-based neural network library (Equinox [1]) and numerical differential equation solving library (Diffrax [2]).

    At the time I was just exploring some new research ideas in numerics -- and frankly, procrastinating from writing up my PhD thesis!

    But then one of the teams at Google starting using them, so they offered me a job to keep developing them for their needs. Plus I'd get to work in biotech, which was a big interest of mine. This was a clear dream job offer, so I accepted.

    Since then both have grown steadily in popularity (~2.6k GitHub stars) and now see pretty widespread use! I've since started writing several other JAX libraries and we now have a bit of an ecosystem going.

    [1] https://github.com/patrick-kidger/equinox

  • [P] Optimistix, nonlinear optimisation in JAX+Equinox!
    3 projects | /r/MachineLearning | 14 Oct 2023
    The elevator pitch is Optimistix is really fast, especially to compile. It plays nicely with Optax for first-order gradient-based methods, and takes a lot of design inspiration from Equinox, representing the state of all the solvers as standard JAX PyTrees.
  • JAX – NumPy on the CPU, GPU, and TPU, with great automatic differentiation
    12 projects | news.ycombinator.com | 28 Sep 2023
    If you like PyTorch then you might like Equinox, by the way. (https://github.com/patrick-kidger/equinox ; 1.4k GitHub stars now!)
  • Equinox: Elegant easy-to-use neural networks in Jax
    1 project | news.ycombinator.com | 18 Sep 2023
  • Show HN: Equinox (1.3k stars), a JAX library for neural networks and sciML
    1 project | news.ycombinator.com | 5 Sep 2023
  • Pytrees
    2 projects | news.ycombinator.com | 22 May 2023
    You're thinking of `jax.closure_convert`. :)

    (Although technically that works by tracing and extracting all constants from the jaxpr, rather than introspecting the function's closure cells -- it sounds like your trick is the latter.)

    When you discuss dynamic allocation, I'm guessing you're mainly referring to not being able to backprop through `jax.lax.while_loop`. If so, you might find `equinox.internal.while_loop` interesting, which is an unbounded while loop that you can backprop through! The secret sauce is to use a treeverse-style checkpointing scheme.

    https://github.com/patrick-kidger/equinox/blob/f95a8ba13fb35...

  • Writing Python like it’s Rust
    4 projects | /r/rust | 20 May 2023
    I'm a big fan of using ABCs to declare interfaces -- so much so that I have an improved abc.ABCMeta that also handles abstract instance variables and abstract class variables: https://github.com/patrick-kidger/equinox/blob/main/equinox/_better_abstract.py
  • [D] JAX vs PyTorch in 2023
    5 projects | /r/MachineLearning | 9 Mar 2023
    For the daily research, I use Equinox (https://github.com/patrick-kidger/equinox) as a DL librarry in JAX.
  • [Machinelearning] [D] État actuel de JAX vs Pytorch?
    1 project | /r/enfrancais | 24 Feb 2023
  • Training Deep Networks with Data Parallelism in Jax
    6 projects | news.ycombinator.com | 24 Feb 2023
    It sounds like you're concerned about how downstream libraries tend to wrap JAX transformations to handle their own thing? (E.g. `haiku.grad`.)

    If so, then allow me to make my usual advert here for Equinox:

    https://github.com/patrick-kidger/equinox

    This actually works with JAX's native transformations. (There's no `equinox.vmap` for example.)

    On higher-order functions more generally, Equinox offers a way to control these quite carefully, by making ubiquitous use of callables that are also pytrees. E.g. a neural network is both a callable in that it has a forward pass, and a pytree in that it records its parameters in its tree structure.

What are some alternatives?

When comparing hasktorch and equinox you can also consider the following projects:

grenade - Deep Learning in Haskell

flax - Flax is a neural network library for JAX that is designed for flexibility.

dex-lang - Research language for array processing in the Haskell/ML family

dm-haiku - JAX-based neural network library

finito - A constraint solver for finite domains, written in Haskell.

torchtyping - Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.

tensor-safe - A Haskell framework to define valid deep learning models and export them to other frameworks like TensorFlow JS or Keras.

treex - A Pytree Module system for Deep Learning in JAX

Etage - A general data-flow framework featuring nondeterminism, laziness and neurological pseudo-terminology.

extending-jax - Extending JAX with custom C++ and CUDA code

futhark - :boom::computer::boom: A data-parallel functional programming language

diffrax - Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/