Multi-dimensional arrays (tensors) and numerical definitions for Elixir (by elixir-nx)

Nx Alternatives

Similar projects and alternatives to nx

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better nx alternative or higher similarity.

Suggest an alternative to nx

nx reviews and mentions

Posts with mentions or reviews of nx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-01.
  • Is Elixir's/Erlang's concurrency useful in non-web applications?
    2 projects | reddit.com/r/elixir | 1 Aug 2022
  • Differentiable Programming from Scratch
    3 projects | news.ycombinator.com | 1 Aug 2022
    Thank you for sharing, this was a great article!

    I had to implement autodiff from scratch for Nx (https://github.com/elixir-nx/nx) about 18 months ago and this would have helped me so much! I spent roughly a month chasing a bug because I was not handling the case of duplicated incoming nodes and you outline it very clearly. I will be recommending the article from now on to anyone who needs to understand how autodiff works. :)

  • JIT/GPU accelerated deep learning for Elixir with Axon v0.1
    2 projects | news.ycombinator.com | 16 Jun 2022
    It uses [Nx](https://github.com/elixir-nx/nx/tree/main/nx#readme) (think of it as an equivalent to numpy/jax) which uses Google XLA's as one of the possible backends to compile and run on the GPU.
  • What's your opinion on Elixir?
    3 projects | reddit.com/r/rust | 20 May 2022
    It's my professional daily driver since 2018 but I consider it an average-to-disappointing language and ecosystem on top of an incredible VM/runtime. For more specific thoughts, back in 2020 I've previously posted some critique here and very little of these concerns are improved in the interim. There is a vestigial ML story around libraries like Nx/Axon. LiveView is inadvisable in practice but is sort of the banner marketing device right now, which disappoints me.
  • Do Elixir's benefits still hold when interfacing with another language?
    2 projects | reddit.com/r/elixir | 2 May 2022
  • Who Watches Watchmen? – Integrating Elixir Applications with Systemd
    3 projects | news.ycombinator.com | 17 Jan 2022
    Numeric Elixir (NX)[1] is improving the number crunching situation!

    [1]: https://github.com/elixir-nx/nx/tree/main/nx#readme

  • Dear Sir, You Have Built a Compiler
    5 projects | news.ycombinator.com | 13 Jan 2022
    Most people who want this end up just selecting a regular programming language where the macro system + parsing rules mean that you can define a "more or less complete DSL" within the language itself. For example, the Nx library in Elixir (https://github.com/elixir-nx/nx/tree/main/nx#numerical-defin...), or Groovy/Kotlin as configuration languages for Gradle in Java.

    You still end up with all the power of a programming language tucked in at the edges of the DSL — but you don't have to use or document that power as being available. As long as users of the DSL can do everything they need to do without "breaking out" of the DSL's little world, they don't need to be aware that they could e.g. make fully-namespaced calls to regular stdlib functions of your runtime.

  • Aspiration for evision (Aspiration for 2022)
    4 projects | dev.to | 29 Dec 2021
    I developed NxEvision, a bridge between Nx and evision. I hope it will be a bridge between machine learning and computer vision in Elixir.
  • Pelemay Backend (Aspirations for 2022)
    2 projects | dev.to | 23 Dec 2021
    Nx is "Numerical Elixir," which realizes multi-dimensional arrays (tensors) and numerical definitions for Elixir. Nx can have a backend. The default backend is the binary backend written in pure Elixir. EXLA, Elixir client for Google's XLA (Accelerated Linear Algebra), and Torchx, Elixir client for LibTorch (from PyTorch), have each backend. Such a backend can be implemented the behavior defined by Nx.Backend.
  • PyTorch vs. TensorFlow in 2022
    13 projects | news.ycombinator.com | 14 Dec 2021
  • Considering learning elixir, a few questions
    2 projects | reddit.com/r/elixir | 30 Nov 2021
    Famously this critique applies to the BEAMVM (ie, erlang + elixir + company) for numerically computationally expensive tasks. Numerical Elixir and improvements to the VM to better support it are making great progress in the space, though. I'd recommend running some application-specific benchmarks if you are thinking about doing really computationally expensive numerical operations on the server.
  • Show HN: Dataframes in Elixir Backed by Rust
    6 projects | news.ycombinator.com | 4 Nov 2021
    With the advent of Nx [1] and Axon [2] for Elixir, I felt like the missing piece was the data munging en route to the machine learning. With Polars [3] making strides and Rustler [4] available to make a safe bridge for Elixir NIFs, I saw a path to get dataframes in Elixir that are _fast_.

    I'm really pleased with how it turned out. Inspired by the Nx architecture, which uses pluggable backends, I build a thin user-facing API that calls into (theoretically, as polars is the only extant backend) pluggable dataframe backends. What really excited me about this approach is that it permits a similar approach to what we see in dplyr [5], where you can manipulate in-memory data frames using the same API as remote databases or spark dataframes.

    Next up is to move to lazy-by-default. To be as unsurprising as possible, Explorer dataframes are (for all intents and purposes) immutable. This has required a fair amount of copying when using the eager API from Polars, and because Rustler NIF resources use atomic reference counting and the GC only sweeps intermittently, there can be some pretty bad memory performance. Fortunately Polars also has a lazy API. The plan is to use that with 'peeking' for display.

    After that, I'd like to move into additional backends. I'm particularly keen on Ecto (database) and Apache Arrow/Ballista for distributed and OLAP work. There is also work underway for a pure Elixir backend so the library can ship without a Rust dependency. Speaking of which, there's work on prebuilt binaries underway as well.

    I'd love feedback on the API! I aimed for a dplyr-ish API as I think it melds better with a functional language than pandas. Generally I find dplyr more intuitive than pandas. The philosophy here is to get from brain to data as simply and intuitively as possible.

    Finally, contributions and any other feedback are super, super welcome. It's early days and I'm also a startup founder so I haven't been able to dedicate as much time as I'd like, but I try to get some work done and add features at least once a week.

    Thanks for looking!

    [1] https://github.com/elixir-nx/nx

  • Elixir Protocols vs. Clojure Multimethods
    10 projects | news.ycombinator.com | 17 Jul 2021
    Elixir has macros. People are currently building Nx https://github.com/elixir-nx/nx while not having to change anything in the language. Java/JS interop being unmatched is true, but Elixir has Erlang interop too.
  • Caramel: An OCaml for the Erlang VM
    4 projects | news.ycombinator.com | 5 Mar 2021
  • Nx source code released (tensors for Elixir)
    1 project | reddit.com/r/contextfree | 17 Feb 2021


Basic nx repo stats
about 16 hours ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Find remote jobs at our new job board 99remotejobs.com. There are 3 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.