scholar
vega_lite
scholar | vega_lite | |
---|---|---|
5 | 2 | |
345 | 173 | |
2.0% | 2.9% | |
8.7 | 6.2 | |
10 days ago | 23 days ago | |
Elixir | Elixir | |
Apache License 2.0 | Apache License 2.0 |
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.
scholar
-
Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R
José from the Livebook team. I don't think I can make a pitch because I have limited Python/R experience to use as reference.
My suggestion is for you to give it a try for a day or two and see what you think. I am pretty sure you will find weak spots and I would be very happy to hear any feedback you may have. You can find my email on my GitHub profile (same username).
In general we have grown a lot since the Numerical Elixir effort started two years ago. Here are the main building blocks:
* Nx (https://github.com/elixir-nx/nx/tree/main/nx#readme): equivalent to Numpy, deeply inspired by JAX. Runs on both CPU and GPU via Google XLA (also used by JAX/Tensorflow) and supports tensor serving out of the box
* Axon (https://github.com/elixir-nx/axon): Nx-powered neural networks
* Bumblebee (https://github.com/elixir-nx/bumblebee): Equivalent to HuggingFace Transformers. We have implemented several models and that's what powers the Machine Learning integration in Livebook (see the announcement for more info: https://news.livebook.dev/announcing-bumblebee-gpt2-stable-d...)
* Explorer (https://github.com/elixir-nx/explorer): Series and DataFrames, as per this thread.
* Scholar (https://github.com/elixir-nx/scholar): Nx-based traditional Machine Learning. This one is the most recent effort of them all. We are treading the same path as scikit-learn but quite early on. However, because we are built on Nx, everything is derivable, GPU-ready, distributable, etc.
Regarding visualization, we have "smart cells" for VegaLite and MapLibre, similar to how we did "Data Transformations" in the video above. They help you get started with your visualizations and you can jump deep into the code if necessary.
I hope this helps!
- Scholar: Traditional machine learning for Elixir on top of Nx
- Does Elixir have an alternative to Scikit Learn?
- Bumblebee: GPT2, Stable Diffusion, and More in Elixir
-
XL-ML: Native ML Algorithms for Elixir
We have recently started a similar effort on the Scholar package inside the Elixir Nx. Our goal is to fill in the gap of sklearn. For instance, here is a PR for KNN: https://github.com/elixir-nx/scholar/pull/21
vega_lite
-
Vega-Altair: Declarative Visualization in Python
I love Vega(-lite) / Altair, the grammar of graphics plotting system is really great to build any kind of chart even when it wasn't thought through by the authors of the library. There are other wrappers for languages that lack viz libraries, such as Elixir / Livebook [0]
However, when I used it a couples years back it struggled with large vizs, I think due to Vega(-lite)'s way of embedding the data in the viz artifact.
Also, interactive is nice but often I just need a quick static plot, and matplotlib is more convenient for this, you can easily see the png in any environment etc.
These days I'm eager to see an Observable Plot [1] wrapper for Python !
[0] https://github.com/livebook-dev/vega_lite
[1] https://github.com/observablehq/plot
-
Bumblebee: GPT2, Stable Diffusion, and More in Elixir
When working with livebook the usual library for graphics/plotting is vega_lite.
https://github.com/livebook-dev/vega_lite
What are some alternatives?
bumblebee - Pre-trained Neural Network models in Axon (+ 🤗 Models integration)
axon - Nx-powered Neural Networks
nx_signal - DSP with Elixir Nx
rustler_precompiled - Use precompiled NIFs from trusted sources in your Elixir code
meow - Multi-population evolutionary algorithms with support for GPU and distributed computing
nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir
explorer - Series (one-dimensional) and dataframes (two-dimensional) for fast and elegant data exploration in Elixir
livebook - Automate code & data workflows with interactive Elixir notebooks
XL-ML - A unique elixir machine learning framework that provides various ML algorithms.