Installed VirtualBox and ubuntu 16.04 on my macbook (welcome to the dangerzone). Nice and fresh. sudo apt-get update and upgrade. I ran into problems eventually that are not cleared up on the forum. Switched to using a native 16.04 installation. The setup ran without a hitch. Beautiful.
Get the latest SDK
following these instructions
I had to restart the terminal before running setup.sh for ncapi. It added something to my bashrc I think. Ok. Actually that is mentioned in the manual. Nice.
Now to test. In the bin folder
also example 01-03
They all seem to run. Excellent.
Looks like ~100ms for one inference for whatever that is worth
“example00 compiles lenet8 prototxt to a binary graph, example01 profiles GooLeNet, example03 validates lenet8 using a simple inbuilt image.”
Go to ncapi/c_examples
./ncs-fullcheck -l2 -c1 ../networks/AlexNet ../images/cat.jpg
options for ncs-fullcheck are inference count and loglevel
go to py_examples
It really likes oxygen mask.
But was successful on sunglasses and a coffee mug. Although it did oscillate a little.
The README is interesting in the stream_infer
Stat.txt holds the average rgb and std dev values.
I wonder if I could run two sticks?
A lot of the stuff is gstreamer related
The movidius beef seems to be
import mvnc.mvncapi as fx ncs_names = fx.EnumerateDevices() dev = fx.Device(ncs_names) dev.OpenDevice() gGraph = dev.AllocateGraph(get_graph_from_disk()) gGraph.LoadTensor(preprocessed_image_buf ,"frame %s" % frame_number) inference_result, user_data = gGraph.GetResult() gGraph.DeallocateGraph() dev.CloseDevice()
You just load the tensor and then get it back.
There is some recommended preprocessing of the image and grabbing the label files and stuff but that is all standard python. Change the mean and std dev to match the netowrk. Also convert to a float16 array. Resize to 227x227
I’ve never used gstreamer. I wonder if there is a problem using the standard opencv stuff. Doesn’t seem like there should be.
In the last couple days, they released instructions on how to run on a raspberry pi.
object localization would be very useful for us.
Get the script for the faster r-cnn
chmod +x that script and run it
To take a new network and make it run
you run the mvNCCompile on the prototxt ( which describes the shape of the network and other things) and the caffemodel weightfile
python3 ./mvNCCompile.pyc ./data/lenet8.prototxt -w ./data/lenet8.caffemodel -s 12 -o ./lenet8_graph
then you can profile and check it’s correctness. It is unclear at this point how easy it will be to take stock networks and get them to run.