dyowee23

dyowee23

Will future versions of Elixir be appropriate for data science/machine learning projects, like Scala or F#?

First 10 of 31 Posts Switch mode

AstonJ

AstonJ

There are a few threads here that might be of interest to you: Search results for 'machine learning' - Elixir Programming Language Forum

murphy

murphy

can someone tell me about his experience with this book?
(its kinda expensive, but looks really interesting to me)

Hoegbo

Hoegbo

Its worth the money

its been some time since I plowed through it but overall its a great read. and should get you up and running with the basics. I`d recommend knowing more than basics of Erlang when reading through it though.

If AI and elixir/Erlang is what you want to do. the this is a mandatory book to read through in my opinion.

Hoegbo

Hoegbo

We are using Elixir AI systems in production. Elixir/Erlang is fantastic for it. We could use more native libraries there are a 4-5 that I know of. and there is a guy that has 3 libraries on hex. we rolled our own stuff though Hoping to be able to open source the backbone of that eventually.

Only downside is the lack of libraries compared to certain other languages. But since the BEAM is awesomeness incarnated making your own stuff is fairly easy. Break everything into small enough pieces and performance issues with regards to calculations will not be hindering you at all. I could write wall to wall about how Awesome Elixir/Erlang is for AI and especially neural networks.

27
Post #5
cgarciae

cgarciae

Here is my experience so far:

  1. Two month ago I had to process a big CSV file, transform it, and write the output to another file. Python with Pandas was running out of memory because of some operations that required pure python code, so I gave Elixir a shot. The good thing is that the system didn’t freeze due lack of memory, the whole process a single parallel pipeline (as most as it could), and it was very easy to program. The bad thing is that it was SLOWWWWWW. Switched to Spark, Scala + RDDs made the problem look easy.

  2. This month I’ve been playing around with TensorFlow. TensorFlow runs in C++ so it helps you with performance even if you are on Python, I also take it uses all the cores of CPU to that helps. But last week I implemented a CNN for MNIST and started to feel the weight of the model, so now I am now looking to run the computation in the GPU to gain some performance.

My thoughts on the matter: Elixir would be an awesome language for Machine Learning and Big Data, but it still lacks: 1) Libraries with C / C++ / Rust? bindings through NIFs or Ports to perform high performance computation, we need need the equivalent of Numpy, Pandas, and TensorFlow, 2) the attention of the scientific community, who’s currently in Python and some are migrating to Julia.

I’d be interested to hear concrete examples from @Hoegbo because the ErlangVM is not good at number crunching, you can have each layer as a process if you like but that isn’t going to get you anywhere if you don’t have BLAS or CUDA. Hopefully one day it does.

14
Post #6
marcusjwhelan

marcusjwhelan

@Hoegbo @cgarciae has there been any advance in ML with Elixir? Is there a way to have elixir maybe pass variables to and from python methods so python could do the number crunching but also be controlled by elixir’s concurrency model?

WolfDan

WolfDan

I’m looking for the same, as mention in this amazing talk

We need more libraries on Elixir for ML, I’m pretty sure than ML in Elixir has a lot of potential, but make libraries for ML is not an easy work

marcusjwhelan

marcusjwhelan

Well that is what I am saying. Why can’t we leverage elixir to use something like ErlPort or Apache Thrift to use python to crunch the numbers and simply use elixir as the controller of python methods using elixir to have method concurrency with the message system. Can this not be done?

WolfDan

WolfDan

Can be done? Yes

Its the right way to do it? I dont think, thats because ports on Erlang have a high implact is not correctly used and can crash the BEAM, but just for operations its another history I don’t think it will crash the BEAM, I think with some research we can build a good library for Elixir ML

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 91898 914
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New

We're in Beta

About us Mission Statement