TensorFlow – A Collection of Resources

Your Twitter account is groaning from tweets and retweets about Google open sourcing TensorFlow, its machine learning system.

To help you cut through the clutter (and myself), I have gleaned the following resources from tweets about TensorFlow:

1. Ground zero for TensorFlow: TensorFlow: smarter machine learning, for everyone by Sundar Pichai, CEO, Google.

Just a couple of years ago, you couldn’t talk to the Google app through the noise of a city sidewalk, or read a sign in Russian using Google Translate, or instantly find pictures of your Labradoodle in Google Photos. Our apps just weren’t smart enough. But in a short amount of time they’ve gotten much, much smarter. Now, thanks to machine learning, you can do all those things pretty easily, and a lot more. But even with all the progress we’ve made with machine learning, it could still work much better.

So we’ve built an entirely new machine learning system, which we call “TensorFlow.” TensorFlow is faster, smarter, and more flexible than our old system, so it can be adapted much more easily to new products and research. It’s a highly scalable machine learning system—it can run on a single smartphone or across thousands of computers in datacenters. We use TensorFlow for everything from speech recognition in the Google app, to Smart Reply in Inbox, to search in Google Photos. It allows us to build and train neural nets up to five times faster than our first-generation system, so we can use it to improve our products much more quickly.

2FNLTensorFlow

We’ve seen firsthand what TensorFlow can do, and we think it could make an even bigger impact outside Google. So today we’re also open-sourcing TensorFlow. We hope this will let the machine learning community—everyone from academic researchers, to engineers, to hobbyists—exchange ideas much more quickly, through working code rather than just research papers. And that, in turn, will accelerate research on machine learning, in the end making technology work better for everyone. Bonus: TensorFlow is for more than just machine learning. It may be useful wherever researchers are trying to make sense of very complex data—everything from protein folding to crunching astronomy data.

Machine learning is still in its infancy—computers today still can’t do what a 4-year-old can do effortlessly, like knowing the name of a dinosaur after seeing only a couple examples, or understanding that “I saw the Grand Canyon flying to Chicago” doesn’t mean the canyon is hurtling over the city. We have a lot of work ahead of us. But with TensorFlow we’ve got a good start, and we can all be in it together.

2. Homepage: TensorFlow is an Open Source Software Library for Machine Intelligence, which reads in part:

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google’s Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.

3. The TensorFlow whitepaper: TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems, by Martín Abadi, et al. (forty authors).

Abstract:

TensorFlow [1] is an interface for expressing machine learning algorithms, and an implementation for executing such algorithms. A computation expressed using TensorFlow can be executed with little or no change on a wide variety of heterogeneous systems, ranging from mobile devices such as phones and tablets up to large-scale distributed systems of hundreds of machines and thousands of computational devices such as GPU cards. The system is flexible and can be used to express a wide variety of algorithms, including training and inference algorithms for deep neural network models, and it has been used for conducting research and for deploying machine learning systems into production across more than a dozen areas of computer science and other fields, including speech recognition, computer vision, robotics, information retrieval, natural language processing, geographic information extraction, and computational drug discovery. This paper describes the TensorFlow interface and an implementation of that interface that we have built at Google. The TensorFlow API and a reference implementation were released as an open-source package under the Apache 2.0 license in November, 2015 and are available at www.tensorflow.org.

4. Tutorials: Tutorials and Machine Learning Examples. I have omitted the descriptions to provide a quick pick-list of the current tutorial materials.

5. Non-Google Tutorials/Examples of TensorFlow:

TensorFlow Tutorials by Nathan Lintz.

Introduction to deep learning based on Google’s TensorFlow framework. These tutorials are direct ports of Newmu’s Theano Tutorials.

TensorFlow-Examples by Aymeric Damien.

Basic code examples for some machine learning algorithms, using TensorFlow library.

BTW, as of Wednesday, November 11, 2015, 22:10 UTC, Github shows 70 repository results for TensorFlow The two I list above were in my Twitter stream.

Given the time lapse between being open-sourced and non-Google examples on GitHub, it looks like TensorFlow is going to be popular. What do you think?

6. Benchmark TensorFlow by Soumith Chintala.

This will show up in the GitHub search link but I wanted to call it out for the high quality use of benchmarks and the discussion that follows. (I am sure there are other high quality discussions but I haven’t seen and therefore have not captured them.)

7. TensorFlow: Second Generation Deep Learning System by Jeff Dean. (approximately 45 minutes)

8. Rob Story opines that TensorFlow is built on the same ideas as @mrocklin‘s Dask (dask.pydata.org/en/latest).

9. If you need a Popular Science article to pass onto management, Dave Gershgorn has you covered with: How Google Aims To Dominate AI: The Search Giant Is Making Its AI Open Source So Anyone Can Use It.

In November 2007, Google laid the groundwork to dominate the mobile market by releasing Android, an open ­source operating system for phones. Eight years later to the month, Android has an an 80 percent market share, and Google is using the same trick—this time with artificial intelligence.

Today Google is announcing TensorFlow, its open ­source platform for machine learning, giving anyone a computer and internet connection (and casual background in deep learning algorithms) access to one of the most powerful machine learning platforms ever created. More than 50 Google products have adopted TensorFlow to harness deep learning (machine learning using deep neural networks) as a tool, from identifying you and your friends in the Photos app to refining its core search engine. Google has become a machine learning company. Now they’re taking what makes their services special, and giving it to the world. (emphasis in original)

10. One short commentary: Google TensorFlow: Updates & Lessons by Delip Rao.

TensorFlow came out today, and like the rest of the ML world, I buried myself with it. I have never been more excited about a new open source code. There are actionable tutorials etc. on the home page that’s worth checking out, but I wanted to know if this was yet another computational graph framework — we already have Theano and CGT (CGT is fast; Theano is most popular).

Links for Delip’s post:

Computational Graph Toolkit (CGT)

Theano


In the time it took to collect these resources on TensorFlow, I am certain more resources have appeared but hopefully these will continue to be fundamental resources for everyone interested in TensorFlow.

Enjoy!

One Response to “TensorFlow – A Collection of Resources”