3 ms·
All these building NNs in haskell, ocaml or another language solving an extremely simple problem which is ok if you want to just have some fun. But if the propo
by nafizh 7y ago
All these building NNs in haskell, ocaml or another language solving an extremely simple problem which is ok if you want to just have some fun. But if the proponents are really serious they would put out a detailed tutorial solving a complex task (e.g building a state-of-the-art language model) showing the ease / difficulty of the process, and how using a typed functional language helps in debugging the model - which is supposed to be the biggest selling point of these languages? This will also show whether it is viable for a real life practitioner to invest time in learning these languages / frameworks.
- antupis 7y agofast.ai did this with swift in their course https://course.fast.ai/part2 https://course.fast.ai/part2
- mark_l_watson 7y agoI have been casually playing around with TensorFlow for Swift since it was announced. It shows promise but I question long term support and development. The Julia language with the Flux deep learning library is another very interesting but not mainstream path to take.
- byt143 7y agoWhat are your concerns around the support / dev? Google has a fairly sizable team around it, it has a fast path to adoption by the large pool of swift devs and fast.ai, and of course, google hype. Chris leaving doesn't seem to be an issue: https://twitter.com/clattner_llvm/status/1222032740897284097 https://twitter.com/clattner_llvm/status/1222032740897284097
- UncleOxidant 7y agoGoogle has kind of a reputation for killing projects.
- mark_l_watson 7y agoI hope there is no long term support problem, but I don’t know. I am sort-of addicted to Lisp languages, but I admit there is a lot to like about Swift, and TensorFlow turtles all the way down in Swift is a great idea.
- gdubs 7y agoLearning the basics has its place. People have to start somewhere. A tutorial for more complex, real world problems is a totally different thing. Both are interesting in their own ways.
- nafizh 7y agoIf you have no background, why would you want to learn the basics in a language no one uses rather than the dominant language / framework of the specific domain? Seems to me an extra cognitive load to bear.
- k_bx 7y agoBecause it only takes one user to make language more popular. For example, Grammarly's first developer used Lisp as his main language, their linguistics is still written in a Lisp-family lang. As a Haskell developer, I'd be more comfortable to read Haddock-generated documentation for types of symbols, unfortunately it doesn't have too many good quality libraries in the ML field yet.
- alexmingoia 7y agoI am learning the basics of neural nets using Haskell because it’s far easier for me to reason precisely and mathematically with Haskell than with a referentially opaque and imprecise language such as Python.
- Jaxan 7y agoI have written quite some Haskell in my life, but never a line of python. For me this tutorial makes sense, it shows the underlying maths. So I don’t really understand your negative attitude.
- RobertDeNiro 7y agoPeople have done this but with hasktorch. Which are haskell bindings to the pytorch C++ libraries. The static typing definitely helps when you want to ensure that the input/output shapes of a layer are consistent.
- nafizh 7y agoCan you please point to such a tutorial? I am interested.
- RobertDeNiro 7y agoThere's no proper tutorial AFAIK. Just examples in the hasktorch repo.