Live data from Hacker News

The State of Machine Learning Frameworks

thegradient.pub

181–190 of 201 posts

Re: The State of Machine Learning Frameworks

#181

Earlier quoted context omitted.

how did you strip out weighs for other classes? what does that even mean?

So this will depend a bit on the architecture (I was working with CenterNet). In my situation, the final feature maps for each class are all obtained by a series of network "heads" that perform a set of convolutions on the same set of slightly deeper set of featuremaps. Each convolutional "head" is responsible for object-detections for a single class. So in the case of COCO, if you have 80 classes, you have 80 such h…

Very nice write up! I'd be very curious if you had any links/resources related to your solution, or that helped you come up with it.

Re: The State of Machine Learning Frameworks

#182

Earlier quoted context omitted.

RHEL is popular for solutions like running a datacenter mostly because it has a nice enterprise support story. It's what the E in that acronym is for, after all. Ubuntu, meanwhile, is quite popular among us mere mortals who have to fix our own boxen. Debian is popular for Docker images exactly because many of the people trying Docker were already familiar with Ubuntu. Those users quickly ended up wanting smaller imag…

> Ubuntu fought a sea of distros and came out as what's very nearly an industry standard, if not an official one. I think you may be living in a bubble. I've been running devops for various shops for half a decade and I've only once used Ubuntu, because it was already being used by an acquisition. I won't deny that Ubuntu is popular. It's certainly got the lions share of the desktop market. But there is no such conse…

Come on guys. You're fighting anecdote with anecdote.

Here's some date I could dig up by a couple of minutes googling:

https://w3techs.com/technologies/details/os-linux/all/all https://w3techs.com/technologies/history_details/os-linux

Other sibling comments link to more.

Re: The State of Machine Learning Frameworks

#183

I work at a small company as an engineer and recently was asked to do a project that would require some neural net magic. I had some experience with keras/tensorflow so that was my first choice. Despite the absolute nightmare of getting it installed and running on a gpu, I managed it and had a fantastic model. It was doing so well that the company wanted to expand the project and build out a multi-gpu rig as part of…

Could you provide a link or resources how to run pytorch models from c++?

Re: The State of Machine Learning Frameworks

#184

I work at a small company as an engineer and recently was asked to do a project that would require some neural net magic. I had some experience with keras/tensorflow so that was my first choice. Despite the absolute nightmare of getting it installed and running on a gpu, I managed it and had a fantastic model. It was doing so well that the company wanted to expand the project and build out a multi-gpu rig as part of…

When I used TensorFlow (briefly), it seemed there were tons of hidden assumptions my stuff had to follow or it wouldn’t work. PyTorch has a few I’ve run into, but mostly seems to “just work”. That’s why I think it’s much better for building anything novel (at least for the first time).

Re: The State of Machine Learning Frameworks

#185
post #181

Earlier quoted context omitted.

So this will depend a bit on the architecture (I was working with CenterNet). In my situation, the final feature maps for each class are all obtained by a series of network "heads" that perform a set of convolutions on the same set of slightly deeper set of featuremaps. Each convolutional "head" is responsible for object-detections for a single class. So in the case of COCO, if you have 80 classes, you have 80 such h…

Very nice write up! I'd be very curious if you had any links/resources related to your solution, or that helped you come up with it.

Thanks. I don't really have anything to link to. It's just something I decided to attempt as it made sense to me to try it. Person detection is notoriously hard to get right on a small set of data, but when trained on something like COCO, modern person detectors really feel like magic because they are so amazingly good at detecting people even in the weirdest of poses. So I wanted to try and leverage the robustness of a COCO-trained person detector and then fine-tune it for my problem but still have other new classes in my network and this seemed like the way to go about it.

Re: The State of Machine Learning Frameworks

#186
post #170

I'm using Keras from last 3 years. Most of the time where I have to deal with core TF code is when I have to write some custom layers. I totally agree on a part where hacking together TF code seems nightmare (well, initially.. but not once you know what you're doing), where PyTorch more looks like blissful experience (I have not tried PyT yet, just speaking from reading all these comments). I'm genuinely curious abou…

What challenges are you worried about with transferring PyTorch to production? It’s been wonderful to work with, but I haven’t put a PyTorch model in high volume production yet, so I’m curious too.

1) My laziness to look for what’s available to do this. 2) Core belief to NOT use any product backed by FB.

But anyway, at this point I got so many things already running over TF + Keras that I don’t see any use case of reverting back the entire code base written over 3-4 years to other platform just because new grads from university are using some library more over other. I got everything I need, so why to suffer unnecessarily? I can just spend the same amount of time polishing existing things rather than spending time after something which has less probability to be at same level as existing things.

Re: The State of Machine Learning Frameworks

#187
The selection of frameworks here doesn’t quite match the title. Then again, research wise I’m sure those two frameworks make up 99% or more of papers.

I much prefer PyTorch, effectively all graph frameworks are there. Very nice to see TPU support with 1.3 as well.

Re: The State of Machine Learning Frameworks

#188

Whatever happened to Julia? Wasn't it supposed to incorporate all these incredible abstractions at the language level and run quickly on GPUs and everything in-between? Is it just lack of adoption or is has it something else?

For me, it would be the lack of GNN support in Flux[1]. I really root for Julia and Flux, and I hope it will take off soon.

[1] https://github.com/FluxML/Flux.jl/issues/625

Re: The State of Machine Learning Frameworks

#189

Earlier quoted context omitted.

More anecdata: we consistently outperform lightgbm, xgboost, random forests, linear models, etc. using neural networks even on smaller datasets. This applies whether we implemented the other algorithms ourselves or simply compared to someone else’s results with them. In my experience it really comes down to how many “tricks” you know for each algorithm and how well can you apply and combine these “tricks”. The differ…

Any good references on the art part, or is it just an intuition you develop over time? In my experience, all the ML education will teach you a ton of theory and basics but none of the practical details you're referring to.

It takes time and a lot of hands-on experience. Many ML teams tend to work on one or just a few tightly coupled project for years. By contrast, we’ve worked on a lot of unique projects with real-world constraints so it gives us a different perspective. An important part has been developing a rigorous process; sort of a framework for applying the “art”. As you mention, this often isn’t covered in ML or data science education, which tends to focus on (important) fundamentals.

Re: The State of Machine Learning Frameworks

#190

Earlier quoted context omitted.

More anecdata: we consistently outperform lightgbm, xgboost, random forests, linear models, etc. using neural networks even on smaller datasets. This applies whether we implemented the other algorithms ourselves or simply compared to someone else’s results with them. In my experience it really comes down to how many “tricks” you know for each algorithm and how well can you apply and combine these “tricks”. The differ…

Do you have any advice on how to increase performance of NN? Id be interested to see some examples of NN doing better than lgbm benchmark on medium size tabular data. What black magic is needed to achieve this? Would be super valuable to my job:) This tuning approach gets good results for Lightgbm. I'd recommend using TimeSeriesSplit. https://www.kaggle.com/nanomathias/bayesian-optimization-of-... I've seen colleague…

It’s really very problem dependent. I allude to a few low-hanging things in my post above: e.g. feature engineering. Just because neural networks have an easier time learning non-linear feature transformations doesn’t mean its good to ignore feature engineering entirely.

Possibly more important is to focus on the process for how you derive and apply model changes. You get some model performance and then what? Rather than throwing something else at the model in a “guess-and-check” fashion, be methodical about what you try next. Have analysis and a hypothesis going in to each change that you make and why it’s worth spending time on and why it will help. Back that hypothesis by research, when possible, to save yourself some time verifying something that someone else has already done the legwork on. Then verify the hypothesis with empirical results and further analysis to understand the impact of the change. This sounds obvious (it’s just the scientific method) but in my experience ML practitioners and data scientists tend to forget or were never taught the “science” part. (I’m not accusing you of this; it just tends to be my experience.)

Random search, AutoML, hyperparameter searches, etc. are incredibly inefficient at model development so they’ll rarely land you in a better place unless a lot of upfront work has been put in. For us, they’re useful for two things: analysis and finalization. For analysis the search should be heavily constrained since you’re trying to understand something specific. For finalization of a model before going into production, a search on only the most sensitive parameters identified during development usually yields additional gains.

Post reply on HN