If you’ve been thinking about playing with an Nvidia single-board computer for an AI task, but you’re not quite ready to part with your cash for something like the Jetson Nano just yet, here’s an application-level emulator of the hardware you can tinker with.
It's the Jetson AI-Computer Emulator, an open-source project created by machine-learning software engineer Tea Vui Huang.
It basically provides the same Python interfaces you'd expected on a Jetson system, specifically the Inference and Utilities API, meaning it's possible to prototype applications in Python and run and test them with the emulator, and once it all works out or you get used to the interfaces, you can perhaps buy a Jetson and run your code on that system, where it will talk to Nvidia's libraries. These libraries use the onboard hardware to accelerate operations such as inference and decision making by trained neural networks. That means you can prototype your application on your PC and later run it on the board to see how it fares with Nvidia's CUDA-based acceleration.
All you need to do is install, on your PC, the emulator package along with the Anaconda Python environment, and import the emulator directly into your Python scripts.
“The Jetson Nano is actually quite intense and can be out of reach for some hobbyists,” Huang told The Register.
“It’s $99 for the board with the CPU and GPU only. You need to add other things to it to actually make it do useful things, like getting your own HDMI display and camera. It creates quite a barrier for students. And even when you buy it, you need to set it up and get it to run on Linux.”
Nvidia unveils $59 Nvidia Jetson Nano 2GB mini AI board, machine learning that slashes vid-chat data by 90%, and new super for BritainREAD MORE
On the subject of pricing, we note that the first generation Nvidia Jetson Nano cost $99 with 4GB of RAM with a Maxwell GPU with 128 CUDA cores to run AI workloads, and four Arm Cortex-A57 CPU cores at 1.43GHz. You can now get a $59 version with just 2GB of RAM.
The emulator is aimed at complete beginners who are curious about machine learning, and it specifically mimics aspects of Nvidia’s JetPack SDK, which offloads work to CUDA cores in a GPU to speed up execution. Since the emulator is a Python-level simulation of the real deal – it won't run native Arm Linux binaries, for instance – it’s fairly limited beyond getting your feet wet with this technology. It's good for toying with image recognition, object detection, and image segmentation, though users cannot add their own pictures to analyze, and it instead relies on images chosen by Huang. If anything, it demonstrates the limits of machine learning.
“It’s something that I wish I had when I was just getting interested in AI,” he told us. “It returns the data in a format that is exactly what a Jetson Nano would give, and you learn that nothing is 100 per cent concrete in machine learning. It’s all guesswork and prediction.
“For example, users can see that models give outputs in terms of a bounding box and a percentage. It’s not totally confident that it’s just detected, say, a bicycle. That’s what AI is like in real-life too. It shows people the realistic boundaries of AI.
"Imagine something like a self-driving car: it uses an object detection model to detect other cards, road signs, so on; if an object it’s looking at is obstructed by something like a tree it becomes less confident in identifying that object.”
The code for the emulator can be tweaked and added to. Huang said he hopes people use it and add new features, such as a virtual camera stream. ®