TensorFlow 2.0 is coming
groups.google.com
groups.google.com
I'd wager that non-trivial (non-tutorial?) usage of scikit-learn is significantly higher.
As someone who is not very familiar with Python, I found it very difficult to port code over, and so I've mostly paused my porting effort for the time.
Other than that, I quite like Tensorflow, and intend to use it more and more as time goes along.
> Support for more platforms and languages, and improved compatibility and parity between these components via standardization on exchange formats and alignment of APIs
I hope that means a solid C API, but it might also mean higher level e.g. protobuf/grpc or something.
C++ has the same problem. It's even worse in a sense, since there's still effectively no compiler-independent binary object model at all.
See their Java bindings, the functionalities exposed are miles far from the Python version.
While I am sure pytorch competition contributed to this change, having a graph-based API was a terrible idea whose time would have passed anyway I think. It made some many things complicated for users. As an implementation/optimization strategy, using a graph was a reasonable choice, but to let drive the API as it did was indeed terrible.
It is reassuring to see the TF team addressing the main flaws of the library: removal of graph-based API, and fixing the lack of consistency/plethora of APIs attacking the same problems.
What pytorch does very well is to play nice python/numpy semantics, especially via broadcasting[0]. There is very little cognitive overhead between a pytorch program and its equivalent python/numpy representation.
What tensorflow does very well is to execute computational graphs on a wide variety of backends. One gpu, many gpus, distributed gpus, servers, mobile, browsers. The recently announced autograph[1] merges the clarity of python/numpy coding style with tensorflow execution engine, offering autograd via compile-time abstract interpretation over all possible traces.
[0] https://docs.scipy.org/doc/numpy/user/basics.broadcasting.ht...
It's not going to be simple or fast, but it's coming...
(I work on XLA, a compiler for TensorFlow, and I've been working closely with AMD on the TF/XLA -> AMDGPU port. My team also works on CUDA support in clang, and we've been reviewing AMD's patches to support HIP in upstream clang.)
Haskell support has worked OK for a while. The languages I would most like to see supported are common implementations of Common Lisp like SBCL and Clozure. I think there is some future for hybrid connectionist and symbolic AI and it would thrill me to have Common Lisp support for TensorFlow.
This works, but the performance was not great. I want something more robust and performant.