Google on Monday announced the release of TensorFlow, its second-generation machine learning system, to the open source community. It’s offering TensorFlow as a standalone library with associated tools, tutorials and examples under the Apache 2.0 license.
Google uses TensorFlow in deep learning, Google Search and other applications. Apps built with TensorFlow can move seamlessly from desktops to mobile phones, and the system is ready for production.
Google has released state-of-the-art example model architectures with TensorFlow to give users a running start.
“I have talked to people within Google who find that this kind of programming environment makes their lives much easier,” said Stuart Russell, the Smith-Zadeh Professor of Computer Science at UC Berkeley.
“They can iterate quickly and scale up to large datasets without huge programming effort,” he told LinuxInsider.
In that sense, TensorFlow “may be somewhat similar to Map/Reduce,” Russell suggested.
Going With the TensorFlow
TensorFlow works with any computation expressed as a data flow graph, describing a mathematical computation using nodes and edges. The nodes usually convey mathematical operations, but they also can represent other variables. The edges show the input/output relationships between nodes. The data edges carry multidimensional data arrays, or tensors.
Users can deploy computation to one or more CPUs or GPUs in a desktop, server or mobile device with one API.
TensorFlow has C++ and Python interfaces, and Google expects that users will contribute SWIG interfaces to other languages, including Java, Go and Lua.
Built-in automatic differentiation capabilities let TensorFlow handle computing derivatives once users define the computational architecture of their predictive model, combine that with their objective function, and add data.
The TensorFlow source code is available on GitHub. Tutorials and documentation are available on the Tensorflow website, and a Google white paper posted on the site provides a detailed description of the TensorFlow system.
“Putting TensorFlow in open source puts one of the top-tier technologies of this type out for community evaluation and participation,” observed Al Hilwa, a research program director at IDC.
“It’s a great win for the community,” he told LinuxInsider.
Just Another System in the Cybersphere?
“The automatic differentiation element will be helpful in letting people experiment with complicated compositions without having to do a lot of extra math, but it’s hardly new,” UC Berkeley’s Russell said. “All sorts of computations can be specified as dataflow graphs, and the dataflow concept originated outside machine learning.”
Further, machine learning is “a very diverse area,” and many problems in the field don’t involve tensor computations in dataflow graphs, he pointed out.
There are other open source packages for machine learning.
One such is Caffe, an open source deep learning framework created by UC Berkeley graduate student Yangqing Jia and released under the BSD 2-Clause license.
SourceForge provides a directory of machine learning software.
The Impact of TensorFlow
Google’s release of TensorFlow targets “companies currently supplying proprietary machine learning software, where the presence of an open source alternative will likely disrupt existing business models and value chains,” noted Bill Weinberg, senior director of open source strategy at Black Duck Software.
Cybersecurity might benefit from machine learning, which “is most visible and key to network security and perimeter security,” he told LinuxInsider. TensorFlow “could prove to be a boon to startups in this area.”
It’s difficult to predict whether any new project will have a horizontal impact on open source, Weinberg said, but “the availability of a new major corpus of source code directed at machine learning will recruit new developers to the machine learning domain in general.”