3 ms·
We've moved over to Tensorflow from Theano around a year ago. I'm a Software Engineer on the team and here's what I think are advantages from my POV: 1) Transi
by sirfz 9y ago
We've moved over to Tensorflow from Theano around a year ago. I'm a Software Engineer on the team and here's what I think are advantages from my POV:
1) Transition was fairly straightforward, both APIs' interfaces are more-or-less similar and share some design characteristics.
2) Having said that, TF's API is easier to use and without a doubt a lot easier to read.
3) Consistency: Deploying Theano in different environments surprised me on several occasions with different output compared to the training environment. TF is more consistent on this front (never had such issues).
4) Running multiprocessing with Theano + GPU is a disaster (due to forking) so I end up having to create process pools before initializing Theano. No such issues with TF.
5) TF provides many helpful operators (such as queues and batching ops) as well as monitoring tools (Tensorboard) and debugging tools.
6) Its development is extremely rapid, new releases every couple of months with a lot of improvements and new features every time.
In short, TF is what Theano should have been. A lot of new papers are being developed in TF as well so it helps to understand it.
- digitalzombie 9y ago> 6) Its development is extremely rapid, new releases every couple of months with a lot of improvements and new features every time. How stable is the api then? I think google is a bit notorious for this (e.g. Angular vs Angular 2).
- deleted 9y ago[deleted]
- fnl 9y agoI am also interested in that - People seemingly are complaining a lot about broken RNN(Cell) functionality/insufficient regression testing. https://news.ycombinator.com/item?id=14576912 https://news.ycombinator.com/item?id=14576912
- sirfz 9y agoAll changes are very well documented for each release [1]. The biggest changes I've seen were, as expected, upgrading from 0.x to 1.x which were mostly function attribute names changes that were made to comply with numpy's attribute names (a welcome change). They did provide tools that automatically convert 0.x code to 1.x so that was helpful. It is not necessary to upgrade if you're satisfied with the current version and I sure won't deploy a different version to production than training. Upgrading is mainly worth it if there are performance improvements or new features/tools that make a big impact (and those are the changes we're mostly interested in and look forward to every release). [1] https://github.com/tensorflow/tensorflow/releases https://github.com/tensorflow/tensorflow/releases