4 ms·
If you put in as much time as you have learning Python, then the answer is probably yes.
by CameronNemo 7y ago
If you put in as much time as you have learning Python, then the answer is probably yes.
- p1esk 7y agoProbably yes What does it mean? Have you done it in any of those language? Have you seen it done in any of those languages?
- haspok 7y agoAlthough I'm not sure what you mean by "deep learning", you can take a look at Spark: https://spark.apache.org/mllib/ https://spark.apache.org/mllib/ As a bonus, it IS Python (numpy) in the background mixed with Scala. So you can use each language where they make the most sense - Python for the maths number crunching and Scala for the business logic and the architecture. I think Spark also has .net bindings (so you can also tick F# on that list...).
- ernst_klim 7y ago> What does it mean? Have you done it in any of those language? I did. I'm doing a image processing recently and use OCaml for prototyping. I've tried python (I've used it a lot for that long time ago), I've failed, it felt to awkward. I've described my experience here [1] If you have no experience whatsoever with ML family [2], and doing all the stuff in python, you'll most likely be much more productive with python of course. But I find ML-like languages way more pleasant, and I'm far more productive with libraries like owl [3], which are more fundamental and don't have fancy stuff, and ML, rather than with python and fancy lib like numpy/scipy. Also Julia could be a good choice hitting a sweet spot between fancy libraries and fancy language. [1] https://news.ycombinator.com/item?id=20457505 https://news.ycombinator.com/item?id=20457505 [2] https://en.wikipedia.org/wiki/ML_(programming_language) https://en.wikipedia.org/wiki/ML_(programming_language) [3] https://ocaml.xyz/ https://ocaml.xyz/
- p1esk 7y agoRight now I’m experimenting with a pretty complicated model (60+ layers of multiple types), and I plan to train it on several hundred GB of data, using 8-16 node cluster (4 GPUs per node). Does Owl have a well tested and well documented autograd library with distributed GPU support (e.g. Horovod)? With a good choice of optimizers, regularizers, normalizers, etc, so I can focus on my model and not on debugging the plumbing or implementing basic ops from scratch. And last, but not least, it must be as fast as TF/Pytorch. If the answer is “no”, then it does not matter whether I’m an OCaml expert, because I’m still going be more productive with Python. p.s. Julia is nice though, hopefully it will keep growing.
- verttii 7y agoI feel what you're saying is that regardless of how subpar a language is compared to alternatives as long as it has community built specific libraries that solve your problems you're more productive using them than anything else. Which is of course a fair point. A language by itself is probably not even in the top 3 considerations when choosing new tech. Stuff like runtime, ecosystem and the amount of available developers would probably be more important in most cases.
- p1esk 7y agohow subpar a language is compared to alternatives In my 6 years with Python, the only dissatisfaction with the language I felt was from parallel programming. I switched to Python from C, and at the time, I missed C transparency and control over the machine, but that was compensated by the Python conciseness and convenience. Then I had to dig into C++ and I didn't like it at all. Then I played with CUDA and OpenMP, and Cilk+, but I wished all that would be natively available in a single, universal language. Then I started using Theano, then Tensorflow, and now I'm using Pytorch, and am more or less happy with it. It suits my needs well. If something else emerges with a clear advantage, I'll switch to it, but I'm not seeing it yet.
- ernst_klim 7y ago> A language by itself is probably not even in the top 3 considerations when choosing new tech. Stuff like runtime, ecosystem and the amount of available developers would probably be more important in most cases. Totally depends on a domain. In serious mission critical software you wont use libraries, but will use the language.
- KirinDave 7y agoAs much as I love the languages you mentioned: I think it's a major weakness of them that they don't have the linear algebra libraries integrated such that you can do this the same way Python does. There are a lot of reasons why this is.