3 ms·
Might give it another try, but my latest incursion in the Tensorflow universe did not end pleasantly. I ended up recoding everything in Pytorch, took me less th
by levesque 7y ago
Might give it another try, but my latest incursion in the Tensorflow universe did not end pleasantly. I ended up recoding everything in Pytorch, took me less than a day to do the stuff that took me more than a week in TF. One problem is that there are too many ways to do the same thing in TF and it's hard to transition from one to the other.
- m0zg 7y agoYeah, the only reason to use TF is really its deployment friendliness. If PyTorch addressed that more comprehensively, there'd be no good reason to use TF at all. For research PyTorch blows TF out of the water completely, and it's been that way for years, ever since it came out.
- forgotmyhnacc 7y agoWhat are you looking for in deployment friendliness? There's TorchScript to run your code faster (which is a work in progress)
- jeffshek 7y agoOne of the major benefits of TF 2.0 is apparently the capability to quickly deploy to TPU units with a single parameter change. (I haven't tried it, just followed the marketing). AFAIK, This is still being worked on PyTorch via XLA, but not quite there yet.
- m0zg 7y agoI've found that with TF in general you can only go "quickly" if everything works. If anything is busted you're more or less screwed because it's so opaque. In contrast, PyTorch lets you inspect whatever you want by setting a pdb breakpoint, and when it gives you errors you most of the time can figure out what's wrong without debugging. The importance of this cannot be overstated.
- m0zg 7y agoFor me it's deploying to mobile, mostly. There's ONNX but it doesn't seem to be terribly mature and it doesn't support some of the common ops, and e.g. FB's own Caffe2 doesn't run it natively. There's also no mature tooling to produce quantized models. TF remains the only real option to do quantization aware training or even easy post-training quantization. Specifically, my life would be a lot easier if I could save a mobilenet-style model to e.g. ONNX or some other static graph format that does not require model code in order to load weights. I would like then to be able to load this saved model directly into something on Android and iOS that can use GPU and DSP present on the chip, with minimal extra futzing.
- chadmeister 7y agoSeriously, I've been waiting for a long time now for this to come about. This would make pytorch a much more powerful platform.
- sandGorgon 7y agoWhat do you think of Keras in this space ? Because TF 2.0 is entirely keras based. https://medium.com/tensorflow/standardizing-on-keras-guidance-on-high-level-apis-in-tensorflow-2-0-bad2b04c819a https://medium.com/tensorflow/standardizing-on-keras-guidanc...
- sytelus 7y agoThis is one thing that confuses me. Why Keras is still a separate brand? Why everything isn't under just tensorflow namespace instead of having to do tf.keras all the time. I really wish tf just had one API and just one thing to learn.
- cheez 7y agoKeras is a high level API that can use multiple backends. So it makes sense for them to remain separated.
- p1esk 7y agoI haven't used TF much lately, but the last time I looked at TF2 it felt like they are making it harder to build low level api models.
- cheez 7y agoI doubt it, it's more likely that they are creating higher level abstractions atop the lower level ones and are advertising/documenting the higher level ones
- levesque 7y agoKeras is part of the problem for me. It is rather rigid and it's hard to get around. Works super well for the regular use case. On the other hand, when you want to start doing custom stuff, it's hell.