The Intel® Movidius™ Neural Compute SDK (NCSDK) and Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) enable rapid prototyping, validation, and deployment of deep neural networks (DNNs).
The NCS is used in two primary scenarios:
Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Intel Movidius Neural Compute SDK. In this scenario, the host system is typically a desktop or laptop machine running Ubuntu 16.04 desktop (x86, 64 bit), but you can use any supported platform for these steps.
Prototyping a user application on a development computer (host system), which accesses the hardware of the Intel Movidius NCS to accelerate DNN inferences via the API provided with the Intel Movidius Neural Compute SDK. In this scenario, the host system can be a developer workstation or any developer system that runs an operating system compatible with the API.
The following diagram shows the typical workflow for development with the Intel Movidius NCS:
The training phase does not utilize the Intel Movidius NCS hardware or NCSDK, while the subsequent phases of “profiling, tuning, and compiling” and “prototyping” do require the Intel Movidius NCS hardware and the accompanying Intel Movidius Neural Compute SDK.
The NCSDK contains a set of software tools to compile, profile, and check validity of your DNN as well as an API for both the C and Python programming languages. The API is provided to allow users to create software that offloads the neural network computation onto the Intel Movidius Neural Compute Stick.
The following is more information on the architecture of the Intel Movidius Neural Compute Stick:
Neural Compute SDK currently supports two Deep Learning frameworks.
The following commands install NCSDK and run examples. Detailed instructions for installation and configuration:
git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples
The SDK comes with a set of tools to assist in development and deployment of applications that utilize hardware accelerated Deep Neural Networks via the Intel Movidius Neural Compute Stick. Each tool and its usage is described below:
mvNCCompile: Converts Caffe/TF network and weights to Intel Movidius technology internal compiled format
mvNCProfile: Provides layer-by-layer statistics to evaluate the performance of Caffe/TF networks on the NCS
mvNCCheck: Compares the results from an inference by running the network on the NCS and Caffe/TF
Applications for inferencing with Neural Compute SDK can be developed either in C/C++ or Python. The API provides a software interface to Open/Close Neural Compute Sticks, load graphs into the Intel Movidius NCS, and run inferences on the stick.
There is an active user forum in which users of the Intel Movidius Neural Compute Stick discuss ideas and issues they have with regard to the Intel Movidius NCS. Access the Intel Movidius NCS User Forum with the following link:
The forum is a good place to go if you need help troubleshooting an issue. You may find other people who have figured out the issue, or get ideas for how to fix it. The forum is also monitored by Intel Movidius product engineers who provide solutions, as well.
There are several examples, including the following at GitHub:
The examples demonstrate compiling, profiling, and running inferences using the network on the Intel Movidius Neural Compute Stick. Each example contains a Makefile. Running ‘make help’ in the example’s base directory will give possible make targets.
git clone http://github.com/Movidius/ncsdk # Already done during installation (cd ncsdk/examples && make) # run all examples (cd ncsdk/examples/caffe/GoogLeNet && make) # Run just one example
The Neural Compute App Zoo is a GitHub repository at http://github.com/Movidius/ncappzoo, which is designed for developers to contribute networks and applications written for the Intel Movidus Neural Compute Stick to the Intel Movidius NCS community.
See The Neural Compute App Zoo README for more information.
Be sure to check the NCS Troubleshooting Guide if you run into any issues with the NCS or NCSDK.
Also for general tech support issues the NCS User Forum is recommended and contains community discussions on many issues and resolutions.
See the latests Release Notes for detailed information of the specific release.