Hands-On with the NVIDIA Jetson Nano 2GB Developer Kit
Now costing just $59, is the Jetson Nano 2GB the perfect entry point to GPU-accelerated artificial intelligence at the edge?
It was two years ago, at the GPU Technology Conference 2018, that NVIDIA announced it was looking to bring its Jetson family of GPU-accelerated embedded AI devices to the hacker and maker communities with the $99 Jetson Nano. Now, two years later, the company has announced it's launching a new model which drops the entry price to just $59 β putting it in direct competition with the low-cost Raspberry Pi 4 range of single-board computers.
There's a catch, of course: The new model drops from the original's 4GB of LPDDR4 RAM to just 2GB, while also losing a USB port, the DisplayPort 1.2 connector, and the M.2 slot for an optional Wi-Fi adapter. Have too many corners been cut to reach the bargain-basement $59 price point, or could the new NVIDIA Jetson Nano 2GB be the go-to gadget for edge AI experimentation?
The Hardware
The NVIDIA Jetson Nano 2GB is, unsurprisingly, very similar to the original 4GB model. The developer's kit - the only way to get the 2GB variant, with the module-only remaining at 4GB for now β combines the computer-on-module (COM) with its quad-core Carmel-based 1.43GHz Arm Cortex-A57 CPU and 128-core Maxwell GPU and 2GB of RAM with a carrier board breaking out the module's most commonly-used interfaces into full-size ports for ease of access.
All the major boxes are ticked: The carrier board includes three USB ports, plus a USB Micro-B port for headless operation, an HDMI port, a single MIPI CSI-2 camera connector, a 40-pin Raspberry Pi-compatible general-purpose input/output (GPIO) header, 12-pin power and UART connector, a four-pin fan header, plus a gigabit Ethernet port. Storage, meanwhile, is handled on the module itself via a microSD card slot.
It's immediately obvious, however, there have been downgrades to lop $40 off the asking price. The original carrier board design offers four USB 3.0 ports; the new design opts for one USB 3.0 and two USB 2.0 ports instead; there's only support for a single display, with the DisplayPort 1.2 connector from the original carrier board missing; and the M.2 slot for an optional Wi-Fi module, hidden under the COM in the original design, is entirely absent.
A bigger loss is a drop back down to a single MIPI CSI-2 camera port, after a mid-stream refresh last year added a second to the original carrier board's design to bring support for stereo vision applications. While you can still technically do stereo vision work on the Jetson Nano 2GB, you'll have to use two USB cameras instead β or one CSI camera and one USB camera, compensating for the likely-different optical characteristics of both.
Elsewhere, though, there are a few surprise upgrades. The DC jack power input, required to run the board at its maximum performance level "MAXN", has been replaced with a USB Type-C connector perfectly happy with a range of common power supplies β including the Official Raspberry Pi Type-C Power Supply. The retail bundle will, Nvidia has promised, also include a USB Wi-Fi adapter, helping to soften the blow of the missing M.2 slot β though at the cost of reducing the usable USB ports to just two.
The Software
One of the biggest selling points of the Jetson family is the software stack, which remains the same whether you're using the entry-level Jetson Nano or the top-end Jetson AGX Xavier. It's no surprise, then, to find the Jetson Nano 2GB supported by the same Linux for Tegra (L4T) distribution as its 4GB predecessor β though it is disappointing to see it's still based on Ubuntu 18.04 LTS rather than the newer Ubuntu 20.04 LTS, something NVIDIA tells us won't change until 2021 at the earliest.
Packaged as the "JetPack SDK," the software bundles an operating system and board support package along with all the libraries and support packages needed to run computer vision and other deep learning workloads on the board. There's full support for all the popular frameworks and models, including full-fat TensorFlow and PyTorch, something NVIDIA points out is not the case for rival devices such as Google's Coral family of edge AI gadgets.
Much of the software packages for the Jetson come in the form of Docker containers, but for those who prefer to handle things manually the "Jetson Zoo" offers Python wheels for all popular frameworks. There's even support for Jupyter notebooks, which NVIDIA uses for its educational content.
On the topic of education, it's clear NVIDIA is serious about making its CUDA software stack the gold standard: The Jetson Nano 2GB launches alongside a new learning platform dubbed the NVIDIA Jetson AI Certification Program, a tutorial bundle aimed at "educators and learners" which walks through training and inference, data collection, and real-time computer vision with classification and regression networks, object detection, and semantic segmentation β and even extends into robotics, courtesy of the company's open source JetBot wheeled robot design.
Performance
In benchmarks, there's little surprise to see the Jetson Nano 2GB performing beat-for-beat identically to the original 4GB model β there's been no change to the underlying system-on-chip (SoC), after all. That only holds true, of course, if your workloads fits in 2GB; as soon as you exceed this limit, performance takes a nosedive β assuming the out-of-memory killer doesn't terminate your process outright.
Sadly, it's all-too-easy to hit this limit. Even with ZRAM configured, which compresses data in RAM as a stop-gap before paging it out to the microSD card, and a 4GB swap file, the low-RAM warning message was a constant companion during our testing β even when doing something as relatively tame as opening a single browser tab in Chromium, and despite the switch to the memory-light LXDE desktop.
The RAM has a direct impact in the deep learning workloads compatible with the device, too: The Jetson Nano 2GB has no difficulty in running all the official NVIDIA AI-IOT benchmarks designed for the 4GB model, but only if you halve the workspace sizes from 1024 to 512 - 256, in the case of the memory-hungry vgg19_N2 network.
Even with this restriction in place, though, the deep learning performance is impressive. The board's Inception V4 performance trades blows with Google's Coral Developer Board, and is twice as fast in ResNet-50 and three times as fast for VGG-19.
The same doesn't hold true for all workloads, though: The Jetson Nano is around half the performance of the Coral in SSD Mobilenet-V1. In all cases both devices leave an unaccelerated Raspberry Pi 4 in the dust, with the Jetson offering anything from eight to 73 times the performance.
At $59, it's tempting to consider the Jetson Nano 2GB as an alternative to the Raspberry Pi 4 for general-purpose compute, too β but this would be a mistake. For non-GPU-accelerated workloads, the Jetson Nano 2GB β as with the 4GB before it - is slightly slower than a Raspberry Pi 4, a gap which extends dramatically when switching the board from "MAXN" performance mode to the "5W" low-power which disables two of the four CPU cores. Oddly, switching modes has a much lower impact on GPU performance β but does boost peak energy draw from just under 6W to just over 11W, an outsized impact for a relatively small change in performance.
Conclusion
If you're just starting out with deep learning projects and you have an NVIDIA GPU in your laptop or PC already, the Jetson Nano 2GB is a hard sell even at $59: Just install the CUDA SDK on your existing system and experiment there. If you're looking for a general-purpose embedded computer, it's even harder: The Raspberry Pi 4 range has higher general-purpose performance and considerably broader support for alternative operating systems, and the matching 2GB model costs just $35.
For those looking to take deep learning to the edge or build embedded systems up to and including robots and autonomous vehicles, though, the Jetson Nano 2GB is a tempting proposition. The drop from 4GB to 2GB of RAM can be an issue, the loss of the second CSI port stings, and only one USB 3.0 port is miserly, but it's hard to argue with the GPU-accelerated compute performance the board offers at the $59 price point.
If you're already involved in NVIDIA's CUDA ecosystem, there's nothing to match the Jetson Nano 2GB at that end of the market. Better still, it has a built-in progression for those looking to move on to bigger things: The $99 Jetson Nano 4GB gives you more IO, two CSI camera ports, and twice the RAM; the Jetson Nano Module is production-ready and comes with on-board eMMC storage; the Jetson Xavier NX offers a considerable boost in performance; and the Jetson Xavier AGX remains the king of the hill when it comes to edge AI performance. Software written for one Jetson family member remains fully compatible with any other family member β memory restrictions aside.
The Jetson Nano 2GB is now available to pre-order at $59 with bundled Wi-Fi module in Europe and North America; buyers in other regions will not receive the Wi-Fi module, pending certification, but will be able to pre-order at a discounted $54 by way of compensation. Deliveries are scheduled to begin in late October.