TensorFlow, Google's open source library for machine learning, is now backing Apple's iOS mobile platform.
While TensorFlow already has been available for Android, version 0.9, revealed this week, accommodates both iOS and the Raspberry Pi hardware platform for the internet of things.
"To build TensorFlow on iOS, we've created a set of scripts, including a makefile, to drive the cross-compilation process," said Pete Warden, Google software engineer. "The makefile can also help you build TensorFlow without using [the Bazel build tool], which is not always available."
Mobile capabilities in TensorFlow have been critical, Warden explained. "When we started building TensorFlow, supporting mobile devices was a top priority. We were already supporting many of Google's mobile apps like Translate, Maps, and the Google app, which use neural networks running on devices."
TensorFlow enables numerical computation leveraging data flow graphs. Its architecture deploys computation to CPUs or GPUs in desktop, server, or mobile devices via a single API. Google open-sourced the technology late last year, and in March, the company introduced its Tensor Processing Unit, a custom ASIC (application-specific integrated circuit) built for machine learning and geared to TensorFlow.
Version 0.9 features support for processing on GPUs on MacOS as well as support for the Python 3.5 language and binaries, including third-party Python algorithms. Also, the graph visualizer in TensorBoard, which features a suite of visualization tools for TensorFlow, now supports run metadata. "Clicking on nodes while viewing a stats for a particular run will show runtime statistics, such as memory or compute usage. Unused nodes will be faded out," according to TensorFlow documentation. Other capabilities in the 0.9 upgrade include Google Cloud storage file system support, performance improvements, better support for string embedding and bug fixes.
Google is offering examples on building iOS applications for TensorFlow 0.9, on GitHub. Apple's Xcode 7.3 IDE, or a subsequent version is required, with command-line tools installed.