5 ms·
I think the fundamental differentiator might be how "production ready" TensorFlow is - the promise of simply declaring an ML pipeline and have that run in very
by mailshanx 11y ago
I think the fundamental differentiator might be how "production ready" TensorFlow is - the promise of simply declaring an ML pipeline and have that run in very heterogeneous compute environments from mobile phones to GPU blades to plain-old clusters, if fulfilled, can indeed be a huge game changer. The promise is that you literally do not have to write any new code when you are done with a research project / a series of experiments and are ready to deploy your pipeline at a large scale. None of Theano / Torch etc make that promise.
- argonaut 11y agoThat's not really a fundamental differentiator. Torch/Theano are definitely production ready. I think the portability is definitely an advantage, though.
- albertzeyer 11y agoI think you would not use Theano in an end-user product. It's made for developers to run on developer machines. It's very fragile. It has a very long start-up time, might be in the order of several minutes at the first start. Maybe it would work good enough in a service backend. But even there it would not scale that well. For example, it doesn't support multi-threading (running a theano.function from multiple threads at the same time).
- argonaut 11y agoGood point. Torch, then.
- mtw 11y agoTorch is used in production by Facebook , deepmind and possibly baidu, amongst others. Facebook especially have released code to make torch run much faster on AWS with GPU cards. Also no startup time. The design is done with a high level language (lua) while computation done mostly in C. I'd be very surprised if tensorflow is actually faster than torch on a single machine
- AMEDICALRe 11y agoTorch has extremely difficult learning curve due to Lua. With Tensor Flow underlying engine in C++ it is likely as efficient as Torch. Special extension such as Nvidia Cudnn could also be used with tensorflow.
- pritambaral 11y agoWhat do you mean by "diffcult learning curve due to Lua"? Lua isn't difficult. Lua is easier than JavaScript! Or perhaps you mean to say that Torch itself is difficult to learn because of design choices that were made in order to use Lua?
- olooney 11y agoLearning an entirely new language for a project, no matter how simple that language is, is certainly a barrier to entry.
- catwell 11y agoIf you have already used another dynamic, imperative language, you can probably learn enough Lua to use Torch effectively in 30 minutes. Seriously, there are three features in the Lua language which are not trivial: metatables, coroutines and _ENV. None of those are needed to use Torch. It will take more time to learn Torch-specific APIs, but the same problem exists with the other ML frameworks.
- argonaut 11y agoIf somebody finds learning Lua to be difficult, then learning C++, learning basic statistics, or learning machine learning will be impossible for them.