2 ms·
While I don't know that much about deep learning, last year I had a student who did, and he implemented a deep learning library in Futhark, a parallel functiona
by Athas 7y ago
While I don't know that much about deep learning, last year I had a student who did, and he implemented a deep learning library in Futhark, a parallel functional language. Performance was decent on the small networks we ended up with, but I'm skeptical about the ability of functional languages to compete directly with specialised languages like TensorFlow (although I find TensorFlows Python API to be bad). In particular, the assertion in TFA that implementing multicore parallelism in Haskell is "easy" is a gross oversimplification. It is by no means easy to implement deep learning directly in Haskell (or most other functional languages) with any kind of acceptable performance, and parallel computation in Haskell is in general a tricky subject (easy to get right, very hard to make it run fast).
In practice, people do who machine learning with Haskell seem to treat it more of an instrumentation language, for putting together building blocks written in other languages, kind of like Python is for TensorFlow.
code: https://github.com/HnimNart/deeplearning https://github.com/HnimNart/deeplearning
paper: https://futhark-lang.org/publications/fhpnc19.pdf https://futhark-lang.org/publications/fhpnc19.pdf