3 ms·
I am probably an outlier (I have experience with both compiler development and lazy languages) but I found the graph model to be very natural. Much of the strug
by sseveran 8y ago
I am probably an outlier (I have experience with both compiler development and lazy languages) but I found the graph model to be very natural. Much of the struggles I saw people having conceptually I had already had years before.
The reason I bet on Tensorflow originally I admit was it was built by Google. But another really strong reason is it had a fully integrated toolchain from research to production. That toolchain has gotten much stronger with the continued investment in tf.data and tensorflow-serving. There was a binary alternative to CSVs (TFRecords). Also given some of our needs with some pretty esoteric components the tf community is actually quite deep.
I had only minor python experience before starting with tensorflow so I literally did not want a python-numpy environment. I am still sad that the world has converged on python as the language of choice but that ship seems to have sailed.
I will say tf.while is something I won't miss, as is tf.cond. I didn't find either really difficult, but it was more typing than was necessary. If there is something I really think should be invested in it is documentation. What should be in a SessionRunHook and what is the best way to write them? If you dig through some of google's repos that use TF estimators you find a lot of useful hooks as well as utility functions to help build them. But learning how to use them was more painful than it should have been.
All that said I am not a researcher. I would suspect that some of my workflow overlaps with researchers as I have found myself implementing a number of papers. I also need the ability to rapidly move a model from training to production.
- lostmsu 8y agoWhat would you prefer to see instead of Python? My company is working on a full proprietary .NET binding for TensorFlow, and we are considering making Java version too, if there is a market for it.
- sseveran 8y agoHonestly Haskell. But on .net F# could be interesting. I don't think these bindings are useful to me in isolation. The reason I have not really gone down that path is that one would need to clone all the higher level TF code that has been written in python.