3. Globalcode – Open4education
What is the Intel Movidius
Neural Compute Stick?
The Intel Movidius Neural Compute Stick (NCS) is a tiny fanless deep learning device that
you can use to learn AI programming at the edge.
3
Computer Vision
What kind of AI programming?
10. Globalcode – Open4education
Introducing the Myriad 2
Vision Processor SoC
Myriad 2 can be found in millions of devices on the market today and continues to be
utilized for some of the most ambitious AI, vision and imaging applications where both
performance and low consumption are mandatory.
▪ An ultra-low power design
▪ Unique design for vision and AI workloads
▪ 12 programmable SHAVE cores
▪ A small-area footprint
10
11. Globalcode – Open4education
Intel Movidius NCS
Quick Start
1. You will need the following:
▪ Ubuntu 16.04 system, RPI3 Model B with Raspian Stretch or
Ubuntu VirtualBox instance
▪ Intel Movidius Neural Compute Stick (NCS)
▪ Internet connection to download and install NC SDK
11
2. Install NC SDK
Run these commands on a terminal window
▪ mkdir -p ~/workspace
▪ cd ~/workspace
▪ git clone https://github.com/movidius/ncsdk.git
▪ cd ~/workspace/ncsdk
▪ make install
13. Globalcode – Open4education
Intel Movidius NCS
Quick Start
3. Test installation by running built-in
examples
Plug the Intel Movidius NCS to your system’s USB port and run these commands
on a new terminal window
▪ cd ~/workspace/ncsdk
▪ make examples
13
4. Next steps
Review Intel Movidius NCS deep learning technical documentation
17. Globalcode – Open4education
Frameworks Optimized by
Intel AI Academy
17
Neural Compute Stick currently supports two Deep Learning frameworks:
▪ Caffe:
Is a deep learning framework from
Berkeley Vision Labs.
▪ TensorFlow:
Is a deep learning framework from
Google.
18. Globalcode – Open4education
Frameworks Optimized by
Intel AI Academy
18
Caffe:
model.prototxt → defines the network
solver.prototxt → training configuration
deploy.prototxt → model.prototxt with
modifications
model.caffemodel → weights file
model.solverstate
TensorFlow:
model.py → defines the network and
training
model.meta → graph structure
model.data → weights
model.index → index meta - data
checkpoint
freeze_graph → model.pb
22. Globalcode – Open4education
Neural Compute SDK Tools
22
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.
23. Globalcode – Open4education
Neural Compute API
23
Applications for inferencing with NCSDK can be developed either in C/C++ or Python.
The API provides a software interface to Open/Close NCS, load graphs into the Intel
Movidius NCS, and run inferences on the stick.
● from mvnc import mvncapi as mvnc
● devices = mvnc.EnumerateDevices()
● device = mvnc.Device(devices[0])
● device.OpenDevice()
● graph = device.AllocateGraph(graphfile)
● graph.LoadTensor(img.astype(np.float16) , 'obj')
● output, userobj = graph.GetResult()
● graph.DeallocateGraph()
● device.CloseDevice()
30. Globalcode – Open4education30
Movidius NCS on the Edge
Raspberry Pi 3 Model B
• ARMv8 Cortex-A53 64bit CPU
• Quad Core 1.2GHz
• 1GB RAM
• 4 USB 2 Ports
• Raspbian Stretch Desktop OS
36. Globalcode – Open4education36
João Guilherme Reiser de Melo
Luana Vieira Martinez Bonatto
Federal University of Santa Catarina
Postgraduate Program in Electrical Engineering