Live data from Hacker News

Machine Learning for Developers

xyclade.github.io

91–99 of 99 posts

Re: Machine Learning for Developers

#91
post #87

Earlier quoted context omitted.

Our data scientists are learning Scala and Spark (MLLib) as a replacement for Python and R. So sure, maybe Python has long been the "best language for ML" but also one time in the not so far past "MySpace was the best social network"

What kind of tasks your data scientists are working on?

Mostly anomaly detection.

Re: Machine Learning for Developers

#93

Earlier quoted context omitted.

This pisses me off so much. I'm not a mathematician, but I like to think I'm a pretty good programmer. I feel like I could pick up a mathematical concept described in a computer science paper more easily if I could actually see the damn code and run it myself. But most of the papers I've read haven't mentioned where to find the referenced source code or, if they do, it's either horribly written and only runs on the a…

From my interactions with researchers in ML, most of them are actually pretty good programmers. There just isn't an incentive to make your code clean: 1. There isn't much correlation between quantity or even quality of papers you publish and the quality of your code. Meaning, writing cleaner code is not going to help you get that postdoc or faculty position. 2. Doing research is full of stops and starts and branches…

> most of them are actually pretty good programmers.

What is 'good'? In 'software development' 'good' is usually connected to writing clear, maintainable, test covered code. In most scientific research it means something completely different. I think on HN most adhere to the former definition of good and in that sense most researchers (especially in physics, but also CS / ML) are not 'good' according to that definition (because you need quite a lot of years of experience in a corporate setting usually) and actually even bad. But the code works and implements the concepts in their papers so they are 'good' in that respect. That is more rapid prototyping to make a POC to show it works, after which you properly rewrite it.

Re: Machine Learning for Developers

#94
post #86

Earlier quoted context omitted.

There's definitely a popular DL library in Java: http://deeplearning4j.org/ And at least one seemingly fairly current NN library: https://github.com/ivan-vasilev/neuralnetworks An an older "pre deep learning" NN library called Neuroph. http://neuroph.sourceforge.net/ and another older one called JOONE: http://sourceforge.net/projects/joone/files/joone-engine/ So in general, the answer is "yes" as to whether or not pe…

Ok, I see. Though I'm not sure why anyone who wants to write DL code today would go with anything other than Python on top of CUDA, or just using one of three main DL libraries (Caffe, Torch, Theano).

This is just a strange thing to say. There are so many languages out there with very interesting features, I'm not sure why you insist python is the only obvious choice. In my experience, all of the advanced research for proprietary companies in this area is not being done on Python, at least not those who are willing to speak at conferences. There's a lot of GPU computing also available to Java, if you think that's the reason Python is the only option. Python is certainly more widely used as a teaching language, so I guess you might see more libraries that are widely known because of universities in the academic environment, but I'm not sure why you think that means that it's the only language that major institutions are using? Because the reality is that almost all the cutting edge stuff that I've read about is not being done in python at all.

Re: Machine Learning for Developers

#95
post #86

Earlier quoted context omitted.

Ok, I see. Though I'm not sure why anyone who wants to write DL code today would go with anything other than Python on top of CUDA, or just using one of three main DL libraries (Caffe, Torch, Theano).

This is just a strange thing to say. There are so many languages out there with very interesting features, I'm not sure why you insist python is the only obvious choice. In my experience, all of the advanced research for proprietary companies in this area is not being done on Python, at least not those who are willing to speak at conferences. There's a lot of GPU computing also available to Java, if you think that's…

Can you give an example where a cutting edge research is done using something other than Python or MatLab? The only exception is Facebook using Torch. In fact, Python dominance in DL is not just my opinion. Even Java devs admit it while trying to justify using Java for DL [1]: "We’re often asked why we chose to implement an open-source deep-learning project in Java, when so much of the deep-learning community is focused on Python." [1] http://deeplearning4j.org/compare-dl4j-torch7-pylearn.html

Re: Machine Learning for Developers

#96
post #95

Earlier quoted context omitted.

This is just a strange thing to say. There are so many languages out there with very interesting features, I'm not sure why you insist python is the only obvious choice. In my experience, all of the advanced research for proprietary companies in this area is not being done on Python, at least not those who are willing to speak at conferences. There's a lot of GPU computing also available to Java, if you think that's…

Can you give an example where a cutting edge research is done using something other than Python or MatLab? The only exception is Facebook using Torch. In fact, Python dominance in DL is not just my opinion. Even Java devs admit it while trying to justify using Java for DL [1]: "We’re often asked why we chose to implement an open-source deep-learning project in Java, when so much of the deep-learning community is focu…

Sure, how about Prismatic, a big San Fran ML shop catering to several industries. They are nearly 100% Clojure.

Re: Machine Learning for Developers

#97
post #95

Earlier quoted context omitted.

Can you give an example where a cutting edge research is done using something other than Python or MatLab? The only exception is Facebook using Torch. In fact, Python dominance in DL is not just my opinion. Even Java devs admit it while trying to justify using Java for DL [1]: "We’re often asked why we chose to implement an open-source deep-learning project in Java, when so much of the deep-learning community is focu…

Sure, how about Prismatic, a big San Fran ML shop catering to several industries. They are nearly 100% Clojure.

From looking at their website Prismatic appears to be a start up building APIs to access ML tools and providing services for enterprise customers. I looked at their job postings and they don't seem to be very research oriented. What makes you think they are doing cutting edge research in DL?

Re: Machine Learning for Developers

#98

Earlier quoted context omitted.

From my interactions with researchers in ML, most of them are actually pretty good programmers. There just isn't an incentive to make your code clean: 1. There isn't much correlation between quantity or even quality of papers you publish and the quality of your code. Meaning, writing cleaner code is not going to help you get that postdoc or faculty position. 2. Doing research is full of stops and starts and branches…

> most of them are actually pretty good programmers. What is 'good'? In 'software development' 'good' is usually connected to writing clear, maintainable, test covered code. In most scientific research it means something completely different. I think on HN most adhere to the former definition of good and in that sense most researchers (especially in physics, but also CS / ML) are not 'good' according to that definiti…

Good = they are capable of "writing clear, maintainable, test covered code" if they wanted to.

Re: Machine Learning for Developers

#99
post #97

Earlier quoted context omitted.

Sure, how about Prismatic, a big San Fran ML shop catering to several industries. They are nearly 100% Clojure.

From looking at their website Prismatic appears to be a start up building APIs to access ML tools and providing services for enterprise customers. I looked at their job postings and they don't seem to be very research oriented. What makes you think they are doing cutting edge research in DL?

No one can say for sure what Prismatic is doing behind the scenes since it is a commercial entity but I've seen them speak at a couple conferences, which led me to believe they are doing some pretty novel ML studies. I could be wrong. But, your initial point was to suggest that a company shouldn't use anything other than Python when starting new ML projects, and Prismatic is an example of a company doing just that: using Clojure in this case. The article you mentioned earlier gives some good reasons why Python is often not the best choice for ML: speed, security, portability are often the reasons for leveraging the JVM (where Clojure lives). This is not a knock against Python, just pointing out that there is major stuff happening in ML that has nothing to do with Python. NYU's machine learning lab prefers C++ over other languages, and major projects like Siri and Watson rely a lot on C++ and Prolog. The point is that it makes no sense to claim that Python is the only language anyone should consider for these tasks.
Post reply on HN