Member-only story
Implementation of a Modern Machine Learning Library
If you want to understand how a modern machine learning library works, there is no better alternative than Flux
I could have been writing about more known machine learning libraries such as TensorFlow, Keras or PyTorch. But the benefit of talking about Flux is that is a fairly small and modern machine learning library.
Flux is very small because it can be. Flux is trivially extended with custom user code, which is not possible with most existing machine learning libraries. That is why they are so large. They must have a lot of built in functionality because adding custom functions is not trivial.
For beginners who want to understand machine learning properly, this is a major benefit. Flux has a much smaller and simpler implementation than the competition, which makes it actually feasible for mortals to look at the source code and understand it.
It may seem mysterious how Flux can do this while other libraries cannot. The magic is really just the Julia programming language. It is Julia that really does all the heavy lifting and makes it possible to write small machine learning libraries.