5 ms·
Many years ago I was studying deep learning using this resource: * http://neuralnetworksanddeeplearning.com/ http://neuralnetworksanddeeplearning.com/ I decid
by _odey 3y ago
Many years ago I was studying deep learning using this resource:
* http://neuralnetworksanddeeplearning.com/ http://neuralnetworksanddeeplearning.com/
I decided to try to implement everything from scratch in Elixir (after initially doing all the math with pen and paper on a trivial example to get the feel of it). Obviously pure elixir was extremely slow, so I started creating NIFs to pass over matrix multiplication to OpenBLAS. Then I was thinking more and more of what things I can pass to C code and just have Elixir as a "frontend" for it. My enthusiasm died down when I realised I was simply implementing things in C with the pretext of "doing elixir", a nice learning experience but I could see I was not doing the things that initially got me pumped up.
Don't get me wrong, I loved the discovery part of it, reading research and trying to understand so I can implement the different new (at the time) deep learning techniques, like convolutions, LSTM, and the different nuances of it. I think it gave me a better understanding of how things work and why it works. But it deviated from the initial scope and I lost interest once the learning phase was over and I knew I could simply use tensorflow or pytoorch as I did not actually need the advantages BEAM offers for this type of workload.
Code is still available here:
* https://gitlab.com/sdwolfz/experimental/-/tree/master/exlearn https://gitlab.com/sdwolfz/experimental/-/tree/master/exlear...
- pjmlp 3y agoThat pretty much describes my Tcl experience in the first Internet wave, to the point I only care for languages with good JIT/AOT tooling in the box, leaving the rest for scripting activities.
- AlchemistCamp 3y agoAs of OTP25, released last year, Erlang has JIT.
- pjmlp 3y agoTrue, but without trying to move goalposts, the JIT still lacks the numerics support for machine learning.
- AlchemistCamp 3y agoI think Mojo may win eventually when it’s complete, but you might want to check out: https://github.com/elixir-nx https://github.com/elixir-nx
- pjmlp 3y agoGiven how Swift for Tensorflow was managed, I am quite sceptical of Mojo. That Elixir project is nice, but I already have enough on my plate with JVM, CLR, V8. Noted for follow-up though.
- polvalente 3y agoDoes Nx change that mindset in any way?
- _odey 3y agoNot really as I've shifted my focus over the years to other areas of software/business development and left ML behind.