Raspberry PI used ARM processor, right? it still needs API which run on CPU to load the work to Movidius. in simple word, if directly use the library in the package, it won't work.
Can we get some clarification on this?
Does this mean that the ARM instruction set of the Raspberry Pi is not sufficient to load data for the Movidius NCS?
Or does the OpenVINO always split the architecture between Intel MKL requiring something like AVX and also any additional VPU / GPUs?
Hope something is coming soon .. As things stand, it seems you need a fairly capable machine to host the NCS2 .. which kind of takes the "edge" off of Edge AI. Unless the NCS 2 can be managed by a very modest device (ideally something like an RPi Zero W), it's a path to nowhere for anyone who doesn't have the resources to develop a stand-alone device and a toolchain to go along with it.
I doubt any solution for the Pi would involve a port of OpenVino .. it hardly seems necessary. In fact, an API that would let an embedded host manage the NCS 2 could be pretty minimal. I think that the following example gets the gist of a "minimum viable solution" using only five mvncapi functions. I presume any future Pi solution will have something like mvncapi, suitably altered for the NCS 2. So basically, you just develop on a host machine, compile a binary net for the target, and use something like the following to load and use the net.
As an aside, I have yet to get the "getting started" stuff for the NCS 2 to work .. it seemed to clash on my Ubuntu boot with my existing Anaconda/Tensorflow installation, and the examples refused to build on a Ubuntu 16.04 VM thta I created to host the NCS 2 development environment .. so pretty disappointed so far.
# open the device
device = mvnc.Device(devices)
# get binary representation of the compiled net
with open(path_to_networks + graph_filename, mode='rb') as f:
graphFileBuff = f.read()
# do some stuff (not shown here) to get the image
# get a reference to the device's interface
graph = mvnc.Graph('graph')
fifoIn, fifoOut = graph.allocate_with_fifos(device, graphFileBuff)
# push the image in, pull the result out
graph.queue_inference_with_fifo_elem(fifoIn, fifoOut, img, 'user object')
output, userobj = fifoOut.read_elem()
# ... etc ..
YUBIN, XIAO wrote:
I'm looking to use raspberry pi for a project, is it possible to install OpenVino SDK on it so that we can run inference on Movidius NCS 2?
Hello... See the above posts.... I am in the same situation you are. I have read enough of the documentation for the "OpenVIno SDK" to discover that the library and tools only run on INTEL processors..... so the PI is not supported... It seems to me to be some how not very open..... The previous development environment for the NCS ran on the PI. I made an assumption that the "upgrade" NCS2 would also be compatible... Not sure whether the NCS is still available... I will be returning my NCS 2 to the vendor I purchased it from. Hope this helps you.