Intel Movidius Neural Compute Stick

Intel Movidius Neural Compute Stick is a modular artificial intelligence (AI) accelerator in a standard USB 3.0 stick form factor. Designed for product developers, researchers and makers, the Intel Movidius Neural Compute Stick aims to reduce barriers to developing, tuning and deploying deep learning applications at the edge by delivering dedicated high-performance deep neural network processing.

Intel’s Neural Compute Stick is a USB-thumb-drive-sized deep learning machine.

NCS is a USB powered like GPU allows you to be used for prediction/inference, but not good for model training. It’s like a coprocessor. It’s got one purpose: running (forward-pass) neural network calculations. It is designed for deployable models.

Under the hood of the NCS is a Myriad 2 processor (28 nm) capable of 80-150 GFLOPS performance. This processor is also known as a Vision Processing Unit (or vision accelerator) and it consumes only 1W of power.

With Neural Compute Stick Intel installs scripts that will actually make your virtual environments nearly unusable. The installer downloads packages from the Debian/Ubuntu Aptitude repos and changes your PYTHONPATH system variable.

Suggested steps/workflow of using the NCS:

Use a pre-trained TensorFlow/Caffe model or train a network with Tensorflow/Caffe on Ubuntu or Debian.
Use the NCS SDK toolchain to generate a graph file.

Deploy the graph file and NCS to your single board computer running a Debian flavor of Linux. I used a Raspberry Pi 3 B running Raspbian (Debian based).

With Python, use the NCS API to send the graph file to the NCS and request predictions on images. Process the prediction results and take an (arbitrary) action based on the results.