At the last year’s Google Next conference in San Francisco, Google via Injong Rhee’s keynote announced two new upcoming hardware products which were a development board and a USB accelerator stick. The hardware was silently launched into Beta under the name “Coral”. On March 6th during the TensorFlow Dev Summit, Coral was officially announced with the lead software engineer for Coral at Google, June Tate-Gans. Both the development board and the USB accelerator were launched and is available for purchase.
The Coral USB Accelerator
The Coral USB Accelerator brings powerful Machine Learning inferencing capabilities to existing Linux systems in an easy to use plug-in USB stick which looks a lot like a flash disk. Unlike the Intel’s Movidius Neural Compute Stick which was released a year and a half ago, it is not that large and is a lot smaller for more convenience. With a USB 3.0 Type-C socket, it can be used straight out of the box. Also, like the latest generations of Mac, if your laptop does not have a USB-C port, it even comes with a USB-C to A cable.
Built around a 32-bit Arm Cortex-M0+ microprocessor running at 32MHz, the USB Stick uses a mere 16 KB of flash and 2 KB of RAM. This provides all the support that is needed for the Edge TPU inside it. The Coral USB Accelerator draws a mere 500mA while running.
The Coral USB stick works perfectly with the Raspberry Pi albeit at USB 2.0 speeds, unlike the Movidius stick, which had a lot of early problems with Arm-based computers. The USB works with any 64-bit Arm, or x86, platform supported by Debian Linux.
Image Courtesy: Google |
The Coral Development Board
Acting as a single-board computer, the Coral Dev Board has a removable system-on-module (SOM) that contains System On Chip, eMMC, wireless radios, and Google’s Edge TPU. It is ideal for the Internet of Things or IoT devices and other embedded systems that demands on-device and fast Machine Learning inferencing.
The Coral Development Board runs on Debian Linux and consists of a baseboard with peripheral connections which include USB 2.0/3.0 ports, two Digital PDM microphones, a DSI display interface, a Gigabit Ethernet port, MIPI-CSI camera interface, a 3.5mm audio jack, a 2.54mm 4-pin terminal for stereo speakers, a full-sized HDMI 2.0a connector. It also has a 40-pin GPIO header. It has a removable 40×48mm system-on-module (SoM), which has a cryptographic coprocessor, onboard Wi-Fi and Bluetooth 4.1 support, attached to the baseboard which is built around an NXP i.MX 8M processor and the Edge TPU. The SoM also has 1GB of LPDDR4 RAM, and 8GB of eMMC.
The Coral Dev board also has a 5-megapixel camera with OmniVision OV5645 sensor and a focal range from 10cm out to infinity with a field of view of 84 degrees and a 1/4-inch optical size. The camera connects to the Dev Board over a dual-lane MIPI interface. The development board is basically an example board for the future SoM board that Google is planning to make available later which can be combined with one’s own custom PCB hardware using a board-to-board connector. Unlike this, the Coral USB Accelerator can be used by anyone.
The Software of Coral
The Coral Dev Board, as well as the Coral USB Accelerator, has the Edge TPU software by Google. Before being compiled to run on the Edge TPU, the models need to be developed in TensorFlow Lite instead of the actual TensorFlow. Some of the pre-web compiled models are also available. In the initial stages of the Beta period, there were some restrictions on the Edge TPU compiler, but after the official announcement of the Coral, these restrictions were lifted.
To prevent the problem that was faced by the Intel Movidius hardware, which required another x86 based development machine to compile models if Arm-based board like the Raspberry Pi were used, Google uses a web compiler. With the Edge TPU, model inference performance is significantly faster when compared to using an embedded CPU or even a desktop.
Image Courtesy: Google |
Availability of the Coral Dev Board and the Coral USB Accelerator
The Coral Dev Board is available at a price of $149.99 and the Coral USB accelerator is priced at $74.99. If you visit the Google site, you will be asked to call Mouser and place an order using the part number. The Mouser pages for the development board, as well as the accelerator, are live.
Another thing that is also in development is the PCI-e Accelerator board which is also built around the Edge TPU. Google has intended to offer the 40×48mm system-on-module (SoM) which is used by the Coral development board, separately for purchases in larger volumes. But the accelerator board will not be available until later this year. The fastest, if not the only, way to avail of Edge TPU is to buy a USB accelerator stick and a Raspberry Pi.