Running your models in production with TensorFlow Serving
googleresearch.blogspot.com
googleresearch.blogspot.com
I'm expecting large leaps and bounds for TensorFlow itself. This improvement to surrounding infrastructure is a nice surprise, just as TensorBoard is one of the nicest "value-adds" that the original library had[4].
Google have ensured many high quality people have been active as evangelists[3], helping build a strong community and answerbase. While there are still gaps in what the whitepaper[1] promises and what has made it to the open source world[2], it's coming along steadily.
My largest interests continue to be single machine performance (a profiler for performance analysis + speedier RNN implementations) and multi-device / distributed execution. Single machine performance had a huge bump from v0.5 to v0.6 for CNNs, eliminating one of the pain points there, so they're on their way.
I'd have expected this to lead to an integration with Google Compute Engine (TensorFlow training / prediction as a service) except for the conspicuous lack of GPU instances on GCE. While GPUs are usually essential for training (and theoretically could be abstracted away behind a magical GCE TF layer) there are still many situations in which you'd want access to the GPU itself, particularly as performance can be unpredictable across even similar hardware and machine learning model architectures.
[1]: http://download.tensorflow.org/paper/whitepaper2015.pdf
[2]: Extricating TensorFlow from "Google internal" must be a real challenge given TF distributed training interacts with various internal infra tools and there are gaps with open source equivalents.
[3]: Shout out to @mrry who seems to have his fingers permanently poised above the keyboard - http://stackoverflow.com/users/3574081/mrry?tab=answers&sort...
[4]: I've been working on a dynamic memory network (http://arxiv.org/abs/1506.07285) implementation recently and it's just lovely to see a near perfect visualization of the model architecture by default - http://imgur.com/a/PbIMI
Regardless, I'd be interested in hearing more about your lessons learned from the DMN implementation - when you have some so share.
I was planning on writing up a blog post on TensorFlow in the near future but undecided on the topic. It could be about implementing something nice and simple[1], maybe an attention based model / language model using RNNs over PTB / etc, or a broader discussion about the good and bad bits of TensorFlow.
I really like TensorFlow, so improving the tutorials seems to be an important step. Whilst the existing tutorials are a good starting point, more in-depth exploration is trial by fire, made more difficult by construction of the graph being separate from executing the graph[2].
If people have particular topics they'd like to see covered, I'd love to hear about them! Ping me at smerity@smerity.com or @Smerity.
[1]: Similar to my "Question answering on the Facebook bAbi dataset using Keras" - http://smerity.com/articles/2015/keras_qa.html
[2]: As opposed to Numpy, directly inspecting something requires a bit more work. There is an InteractiveSession but it's still less direct.
I'd wish they could implement other well know ML algos like trees, give Spark ML some fight :)
There is a whole other world of non stochastic gradient descent based algorithms out there; IMO Tensorflow is sensible to stick to one class of algorithms and do it well.
(Disclaimer: I work on mldb, one of the tools on that list).
Does that include the dataload time into MLDB?
(edit: my grammar is good not)
OTOH, I have a strong prejudice against Javascript on the backend... And its not due to it being dynamic - the same doesn't happen with Python codebases. It is completely irrational.
Plain C with C++ compiler, with a pseudo Hungarian notation.
They've promised to release (or already have released) the models for Exploring the Limits of Language Modeling[1] which was trained on the 1 B Word Benchmark corpus[2] which is also public data.
Note that for these, the trained models are often more immediately useful. The language modelling model was trained for 3 weeks on 32 Tesla K40s. That's not something many can replicate casually.