Hacker News new | ask | show | jobs
by dr_zoidberg 2013 days ago
Here's my take about TF (in general, not particularly 1.x or 2.x):

Like many things from Google, I always had the impression that the library, while better than alternatives at the time, is too tailored to Google use cases. And if you fall outside of them, bad luck.

Still, at work we find it easier to deploy and interoperate with other tools than Pytorch. Hell, we have a guy working in Pytorch who converts his work to ONNX so that we can then connect those to some tooling we already have from back when TF was our only backend.

Could there be a better way? Perhaps. But we have to ship models and TF "just* works" (with a big asterisk, yeah).

1 comments

I recently used TF 1.0 (former Theano author, current PyTorch user) and found TF 1.0 to be hellaciously difficult to grok and seemed to include a lot of unnecessary abstractions.

There was existing TF 1.0 code I was trying to extract gradients through (nsynth-wavenet). I spent over 8 hours on it unsuccessfully; I asked for help from a friend at Google who worked on TF and he couldn't figure it out either. I emailed the original author of the code and he acknowledged that he didn't know how to do it either, and he had an old notebook he could dig up that kinda would work with a lot of fixes.

Also see my comment here: https://news.ycombinator.com/item?id=25439073

I am definitely interested in a higher-level Pytorch API that uses TF as an execution engine.

My coworker said that he basically started from this article[0] and then adapted a few things to his workflow. He also said that learnopencv "covers like 70% of what you really have to do and you have to figure the rest out, not hard but may take you some time".

[0] https://www.learnopencv.com/pytorch-to-tensorflow-model-conv...