Movidius™ Neural Compute SDK

Home of the ncsdk used to develop software for the Movidius™ Neural Compute Stick

View the Project on GitHub

Introduction

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:

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:

Frameworks

Neural Compute SDK currently supports two Deep Learning frameworks.

  1. Caffe: Caffe is a deep learning framework from Berkeley Vision Labs.
  2. TensorFlow™: TensorFlow™ is a deep learning framework from Google.

See how to use networks from these supported frameworks with Intel Movidius NCS.

Installation and Examples

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

Intel® Movidius™ Neural Compute SDK Tools

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:

Neural Compute API

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.

Intel® Movidius™ Neural Compute Stick User Forum

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:

https://ncsforum.movidius.com

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.

Examples

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

Neural Compute App Zoo

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.

Troubleshooting and Tech Support

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.

Release Notes

See the latests Release Notes for detailed information of the specific release.