frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Steps for installtion for Raspberry Pi 3 new sdk

2»

Comments

  • @kalkrishnan, except for profiler and compiler support for TF, NC SDK is validated to run well on RPI 3 (Stretch OS). I'd be happy to help debug the issue on your RPI setup.

  • Thanks for the reply @AshwinVijayakumar. What additional information can I provide you with, in addition to that error listing I included in the last message?

  • I just wanted to report back that I have been very successful at getting the NCS running on my PI. I have googlenet inference and tinyyolo examples working. I am integrating this into my autonomous RC car. (donkeycar)

    Here is the google net

    Here is tinyyolo

    My issue is with powering the Pi with the NCS plugged in. Its very sensitive. I frequently end up with the pi throttling due to low voltage. Any suggestions for powering the NCS on a mobile platform via battery?

    FYI: I'm using the 'vcgencmd get_throttled' command to check.

    In this video you can see the throttling when connected to battery power.

    Here is plugged into wall power adapter, no throttling

  • @wheatgrinder, really cool UI! What battery solution are you using? I've noticed throttling issues when using off the shelf battery packs. Most of these packs have built-in current limiting circuits to prevent overdraw, so when the CPU and/or the NCS cranks up, the battery pack won't be able to cater to the spike.

    I've always relied on good old LiPo packs designed for RC cars/planes/drones for my portable projects. I usually get a 2S 800mAh LiPo pack with 25C rating for smaller projects, and 2S 2400mAh pack with 35C rating for projects that need to be ON for a long time (months). You'll need a good voltage regulator to step down the 7.4V down to 5V.

    I get my LiPo packs from HobbyKing and build my own regulators, but you can find a couple good regulators on eBay.

  • yeah, Im using off the shelf USB battery packs. I find that it mostly works when I run very short cables from the battery to the pi, but even then I get a few throttling events.

    I would like to go lipo for the whole platform.. Is there an off the shelf regulator\charging pi HAT or other add on that will let me run both off one battery? I imagine spikes in current draw from motors etc are an issue.

  • @AshwinVijayakumar @wheatgrinder - Have either of you been able to get any of the STOCK caffe examples that are downloaded as part of the installation to work? Did you see my output from the last post? What's the trick to get it to work?

    Thanks,
    -Kal.

  • @wheatgrinder I noticed you did try the built in GoogLeNet example, and it worked for you. I looked at your output versus mine:

    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $ python run.py
    Device 0 Address: 1.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.872862 ms (7.578844 MB/s)
    Boot successful, device address 1.3
    Found Address: 1.3 - VID/PID 03e7:f63b
    done
    Booted 1.3 -> VSC
    Traceback (most recent call last):
    File "run.py", line 87, in
    output, userobj = graph.GetResult()
    File "/usr/local/lib/python2.7/dist-packages/mvnc/mvncapi.py", line 262, in GetResult
    raise Exception(Status(status))
    Exception: mvncStatus.TIMEOUT

    There is a "found stale device, resetting" message at the top of your output, which I don't get (what stale device?). But I am assuming that is irrelevant. Other than that, our outputs appear identical, until the point where it is waiting for the results from the NCS. In my case, it waits about 15 seconds, and gives the TIMEOUT error. In your case, it gives back the correct expected results.

    Are you able to get your GoogLeNet example to run consistently? Did you have to do anything to make that work? I am at my wit's end here!

    -Kal.

  • @wheatgrinder, I've used LM2596 based dc-dc buck convertor modules from eBay in a couple of my projects - https://m.ebay.com/itm/Lot-10x-LM2596S-DC-DC-3A-Buck-Adjustable-Step-down-Power-Supply-Converter-Module/391892156266

    DonkeyCar has been on my list for a while now, but haven't started looking into it. If it has BLDC motors, then I'd recommend using off the shelf ESCs (from HobbyKing) with built in regulators.

  • @AshwinVijayakumar I am using a standard RC battery and ESC to drive the motors and servos of the donkeycar, but Im using an external USB battery to power the pi and consequently the NCS. I've read many times that trying to power a micro controller from the same battery being used to drive your motors is a problem due to peak loads and RF feedback.

  • @kalkrishnan I currently have everything working on the RPi except the USB webcam. I am also getting the wrong results for tensorflow/mobilenets, but this is on the PC as well.

    I did notice incorrect results on the RPi for inception_v1-4 from using python over python3.

    Using the latest release?

    Try "python3 run.py"? (but using python in this example work fine for me?)

    Maybe you need to reboot? I have had to reboot from time to time, but I don't remember the exact error.

  • I am getting error No module named 'caffe'. I have followed the advice on https://ncsforum.movidius.com/discussion/99/technical-faq# without success - every attempt to add to pythonpath fails

  • @pkrush : Thanks for the suggestions. Here is what I have tried since my last post:

    1. Downloaded a fresh copy of Raspbian Stretch and burned to a brand new SD card.
    2. Went through the entire installation steps once again from https://developer.movidius.com/start
    3. Rebooted the R-Pi after that to be sure.

    Alas, after all that work, I ended up exactly where I started. The basic app (just connect and disconnect) works fine, but the GooGleNet Caffe model fails to run with a TIMEOUT error. I have two NCS sticks that are sitting useless now.

    @AshwinVijayakumar can you help at all? If not, how do I go about getting support for the two NCS sticks I purchased that are unusable for me now? All I am asking is that the stock Caffe model from your own examples should work. I don't think I am asking for too much here.

    Thanks,
    -Kal.

  • @AshwinVijayakumar on your advice I tried a buck converter and it seems to be working a treat. I was struggling with the NCS and my other pi peripherals(an LCD screen) causing low power throttling.. this seems to have completely fixed it. I used this device: https://www.amazon.com/gp/product/B06XRDV49T/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

    Here is a video of my car running.. Car driving my neural network on the pi, the NCS is doing object detection (not really affecting the car driving yet)

    In regards to using the built in ECS for power. My ESC returns 6v on the BEC to drive servos. Almost just right, but I worried that there wasn't enough difference between the BEC 6v and 5.2v needed for the pi for a buck device to work well. All the specs I read seems to require at least 1.5v difference. I would like to try it anyway as more regulation is probably a good thing (filtering out high freqency noise etc) Im no electronics expert for sure.. maybe I should just use a resistor to drop that .5v from the BEC? suggestions? Oh, and to be clear, I'm using the Micro USB port for power IN on the pi, as I assumed there was probably some useful filtering\buffering\regulating or whatever going on on that input. Was that a reasonable thought?

  • @kalkrishnan I wonder if your python version is the issue? I see in your text above that "/usr/local/lib/python2.7/dist-packages/mvnc/mvncapi.py" is where the mvnc stuff is.. ???

  • @wheatgrinder thanks for that suggestion. After the fresh re-installation, here is the output. I made sure I was using Python 3 this time.

    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $ python3 run.py
    Device 0 Address: 1.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 146.219385 ms (5.643099 MB/s)
    Boot successful, device address 1.3
    Found Address: 1.3 - VID/PID 03e7:f63b
    done
    Booted 1.3 -> VSC
    Traceback (most recent call last):
    File "run.py", line 87, in
    output, userobj = graph.GetResult()
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 262, in GetResult
    raise Exception(Status(status))
    Exception: mvncStatus.TIMEOUT
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $

  • @kalkrishnan
    It would be nice if Movidius provided a SD Card image. I plan to put one together:
    https://github.com/GemHunt/movidius-on-rpi/blob/master/build.md

    It's frustrating because I build up a number bits of advice, but I don't know exactly what advice fixes what problem.

    Other hints:
    With the Movidius repo installs and examples when something did not work I tried again using sudo.

    Check out Adrian Rosebrock's says about swap space in a TensorFlow install: https://www.pyimagesearch.com/2017/12/18/keras-deep-learning-raspberry-pi. I have seen out of memory issues with Caffe, but I have forgot where...

  • @pkrush - appreciate your efforts in putting together an SD card image. However, I think Movidius/Intel should be able to conduct QA such that if they go through the steps I did (Download & burn fresh Raspbian Stretch, then git clone and run their supplied make install), it should reliably work every time. Have they even tried that? If certain commands require sudo, the script should be able to take care of this, and prompt the user for the password. This is not rocket science. I am very very unhappy with the way that they leave their customers flapping in the wind.

    Anyone considering buying this product for use on an R-Pi should really think twice about it, given my experience. I bought two, and they are totally useless pieces of junk at this time. I note that @AshwinVijayakumar said he could help me debug this situation, but has been totally silent since then, with no concrete help. I have been trying stuff on my own, to no avail.

    -Kal.

  • @kalkrishnan, as mentioned before - "except for profiler and compiler support for TF, NC SDK is validated to run well on RPI 3 (Stretch OS)". This is based on the QA we do prior to every release, which is documented here - https://github.com/movidius/ncsdk/releases.

    There are many documentation resources for 'NCSDK installation on RPI', many of which are discussed in this thread itself. I have outlined a few for your reference:

    1. https://github.com/movidius/ncsdk/releases --> Refer errata 1, 2, 5 & 7 for V1.11.00
    2. https://developer.movidius.com/start --> NCSDK installation steps that applies to all supported platforms
    3. https://ncsforum.movidius.com/discussion/comment/1034/#Comment_1034 --> Installing NCSDK API only on different platforms (architectures & OS). Refers to https://movidius.github.io/blog/

    It could be possible that the issue you are facing is specific to your setup, so please help me better understand your setup by performing the steps I previously asked - https://ncsforum.movidius.com/discussion/comment/1320/#Comment_1320.

    1. Are you able to run networks other than GoogLeNet? ex. AlexNet, SqueezeNet, Age/Gender, etc?
    2. What happens when you transfer a pre-compiled graph file (generated on a laptop/desktop) and then run the examples?

    Please also provide any additional information that might be relevant. ex. I see that you are running on a fresh OS install, but can you confirm if there are any other installations that has python dependencies? ex. Anaconda, OpenCV, ROS, etc.

  • @wheatgrinder, I am glad the buck regulator solution worked out for you. The 1.5v difference you mentioned is the dropout voltage property of any voltage regulator. If you are OK using both the ESC and the buck regulator, I'd recommend using a power distributor to supply both the ESC and the buck from the same battery. If you prefer to further optimize your electronics, then pick up an ESC that has a built in 5V BEC like this one - https://hobbyking.com/en_us/hobby-king-30a-esc-3a-ubec.html.

    NOTE: Most ESCs with built in BEC continue to supply the regulated voltage (5V) even after shutting down motor supply, but I am not sure about the one I referenced above, so please do some research before purchasing.

    May I suggest we move your discussion to a dedicated post? Your posts have novel content which might help other forum members looking to work on similar projects. If you agree, please feel free to start a new thread and tag me.

  • Hi @AshwinVijayakumar - You had asked me to run "make profile" in 3 directories - AlexNet, GoogleNet and inception_v3.

    For AlexNet & GoogeNet, I get the following:

    `pi@raspberrypi:~/movidius/ncsdk/examples/caffe/AlexNet $ make profile

    making prereqs
    (cd ../../data/ilsvrc12; make)
    make[1]: Entering directory '/home/pi/movidius/ncsdk/examples/data/ilsvrc12'
    make[1]: Leaving directory '/home/pi/movidius/ncsdk/examples/data/ilsvrc12'
    chmod +x run.py

    making prototxt
    Prototxt file already exists

    making profile
    mvNCProfile deploy.prototxt -s 12
    mvNCProfile v02.00, Copyright @ Movidius Ltd 2016

    ****** WARNING: using empty weights ******
    /usr/local/bin/ncsdk/Controllers/FileIO.py:52: UserWarning: You are using a large type. Consider reducing your data sizes for best performance
    "Consider reducing your data sizes for best performance\033[0m")
    USB: Transferring Data...
    [Error 25] Myriad Error: "mvncStatus.TIMEOUT".`

    (Not including the GooGleNet output, since it is exactly the same).
    On inception_v3, as expected, it just fails with "ImportError: No module named 'tensorflow'", since tensorflow is not installed on the R-Pi.

    Interestingly, instead of "make profile" in AlexNet, if I just run "python3 run.py", I do get some results:

    `pi@raspberrypi:~/movidius/ncsdk/examples/caffe/AlexNet $ python3 run.py
    Device 0 Address: 1.5 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.5 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.914949 ms (7.575916 MB/s)
    Boot successful, device address 1.5
    Found Address: 1.5 - VID/PID 03e7:f63b
    done
    Booted 1.5 -> VSC

    ------- predictions --------
    prediction 0 (probability 0.100040435791%) is n15075141 toilet tissue, toilet paper, bathroom tissue label index is: 999
    prediction 1 (probability 0.100040435791%) is n02319095 sea urchin label index is: 328
    prediction 2 (probability 0.100040435791%) is n02395406 hog, pig, grunter, squealer, Sus scrofa label index is: 341
    prediction 3 (probability 0.100040435791%) is n02391049 zebra label index is: 340
    prediction 4 (probability 0.100040435791%) is n02389026 sorrel label index is: 339`

    So, finally, some signs of life, hooray!

    As for your other questions, I believe I answered that already. All I did was did a fresh OS install, then git clone the ncsdk project and run make install. Nothing else is installed that is not part of the ncsdk installation, whatsoever.

    Thanks,
    -Kal.

  • @AshwinVijayakumar - I know I am very frustrated, but look at it from my point of view. As already mentioned -
    1. I am running a plain vanilla (just downloaded) Rasbian Stretch OS.
    2. I have NOT installed any other packages.
    3. I scrupulously followed the Getting Started steps on your website.

    At this point, I have a reasonable right to expect that the supplied examples will work, except as documented (e.g., no TensorFlow, which I understand, and am fine with). Do you have any disagreement with what I am saying?

  • @kalkrishnan, thanks for running the test. python3 run.py didn't actually work, notice how the predictions are all over the place? You should be seeing this instead:

    ashwin@ncp-demo-monster:~/workspace/ncappzoo/caffe/AlexNet$ python3 run.py 
    Device 0 Address: 1 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 75.208594 ms (10.971226 MB/s)
    Boot successful, device address 1
    Found Address: 1 - VID/PID 03e7:f63b
    done
    Booted 1 -> VSC
    
    ------- predictions --------
    prediction 0 (probability 94.970703125%) is n03272010 electric guitar  label index is: 546
    prediction 1 (probability 4.76684570312%) is n02676566 acoustic guitar  label index is: 402
    prediction 2 (probability 0.102138519287%) is n02787622 banjo  label index is: 420
    prediction 3 (probability 0.0409126281738%) is n04517823 vacuum, vacuum cleaner  label index is: 882
    prediction 4 (probability 0.0347137451172%) is n04141076 sax, saxophone  label index is: 776
    

    What's weird is that I don't see any exception being thrown by any of the APIs after mvnc.OpenDevice; I'd expect at least AllocateGraph or LoadTensor to throw an exception . Can you please double check the results from your laptop/desktop?

    In the mean time, I'll try to figure out how to read the status of your NCS device so that we can manually pull the device status anytime between OpenDevice and GetResult.

  • @AshwinVijayakumar I tried on Ubuntu on the desktop and got the same output as you have shown.

    kal@kal-VirtualBox:~/movidius/ncsdk/examples/caffe/AlexNet$ python3 run.py
    Device 0 Address: 2 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 2 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 254.899465 ms (3.237082 MB/s)
    Boot successful, device address 2
    Device 0 Address: 1 - VID/PID 03e7:f63b
    Found Address: 1 - VID/PID 03e7:f63b
    done
    Booted 1 -> VSC

    ------- predictions --------
    prediction 0 (probability 94.970703125%) is n03272010 electric guitar label index is: 546
    prediction 1 (probability 4.76684570312%) is n02676566 acoustic guitar label index is: 402
    prediction 2 (probability 0.102138519287%) is n02787622 banjo label index is: 420
    prediction 3 (probability 0.0409126281738%) is n04517823 vacuum, vacuum cleaner label index is: 882
    prediction 4 (probability 0.0347137451172%) is n04141076 sax, saxophone label index is: 776

  • Hmm...

    Excerpt from https://ncsforum.movidius.com/discussion/comment/1389/#Comment_1389

    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $ python3 run.py 
    ...
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 262, in GetResult
    raise Exception(Status(status))
    Exception: mvncStatus.TIMEOUT
    

    Excerpt from https://ncsforum.movidius.com/discussion/comment/1401/#Comment_1401

    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/AlexNet $ python3 run.py
    
    # No TIMEOUT exception
    

    Not sure why the inconsistency between GoogLeNet and AlexNet. I would like to rule out any issues with the graph compilation on your RPi, so let's please try another experiment:

    Copy ~/movidius/ncsdk/examples/caffe/GoogLeNet/graph and ~/movidius/ncsdk/examples/caffe/AlexNet/graph from your desktop to the respective location on your RPi and rerun python3 run.py on your RPi.

    Make sure the NCSDK version on your RPi is the same as your laptop/desktop, else this step won't work.

  • Hi @AshwinVijayakumar - Here are the results:

    1. No difference in outcome after copying over the graph files from the desktop to R-Pi. (Yes, they are the exact same version).
    2. As for the discrepancy between googleNet and AlexNet - I tried it various ways and discovered that if I just run the "python3 run.py" in the AlexNet folder after a reboot, I get the same mvncStatus.TIMEOUT error. However, if I first run the "make profile" command (which fails), and then run the python3 run.py command, I get the wild result. Not sure what this means, but thought I would mention in case it triggered some ideas.

    -Kal.

  • Oh, also tried SqueezeNet just for completeness - no joy. Same TIMEOUT error.
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/SqueezeNet $ python3 run.py
    Device 0 Address: 1.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.951684 ms (7.573361 MB/s)
    Boot successful, device address 1.3
    Found Address: 1.3 - VID/PID 03e7:f63b
    done
    Booted 1.3 -> VSC
    Traceback (most recent call last):
    File "run.py", line 87, in
    output, userobj = graph.GetResult()
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 262, in GetResult
    raise Exception(Status(status))
    Exception: mvncStatus.TIMEOUT

  • @AshwinVijayakumar - One additional thought:

    Do you have access to a Raspberry Pi 3? Can you repeat the experiment that I did, namely:
    1. Get a fresh copy of Stretch from https://downloads.raspberrypi.org/raspbian_latest (I downloaded the full version, not the Lite version)
    2. Burn it to a SD Card, and boot the R-Pi from it.
    3. Go through all the steps exactly as outlined in https://developer.movidius.com/start (Yes, it takes FOR EVER, you have to be patient like your customers ;))

    Do the Caffe examples work for you?

  • @kalkrishnan, I have tried to reproduce this issue several times on my bench, but no luck.

    The only other thing my team and I think about, is the power delivery from your USB port. I am guessing you are connecting the NCS, Keyboard and Mouse through a USB hub. Is this hub powered? If not, please try with a powered USB hub. If you are using BT keyboard/mouse and connecting NCS directly to RPi port (like I am doing), make sure your power supply to RPi is good (see @wheatgrinder's posts on this thread)

    Below is the log from one of my runs.
    * Notice that I am running Stretch + v1.11.00.04 NCSDK
    * GoogLeNet and SqueezeNet work fine
    * AlexNet errors out during compilation due to insufficient RAM (more of a Caffe issue), but you can compile the graph on your laptop and move it to RPi for inference

    pi@raspberrypi:~ $ uname -a
    Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux
    pi@raspberrypi:~ $ cd workspace/ncsdk/
    pi@raspberrypi:~/workspace/ncsdk $ git describe
    v1.11.00.04
    pi@raspberrypi:~/workspace/ncsdk $ cd examples/caffe/GoogLeNet/
    pi@raspberrypi:~/workspace/ncsdk/examples/caffe/GoogLeNet $ make run
    
    making prereqs
    ...
    making run
    ./run.py
    Device 0 Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 64 bytes
    Found EP 0x01 : max packet size is 64 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 774.342425 ms (1.065589 MB/s)
    Boot successful, device address 1.5.4.4.3
    Found Address: 1.5.4.4.3 - VID/PID 03e7:f63b
    done
    Booted 1.5.4.4.3 -> VSC
    
    ------- predictions --------
    prediction 0 (probability 0.99609) is b'n03272010 electric guitar'  label index is: 546
    prediction 1 (probability 0.0035095) is b'n02676566 acoustic guitar'  label index is: 402
    prediction 2 (probability 0.0) is b'n02396427 wild boar, boar, Sus scrofa'  label index is: 342
    prediction 3 (probability 0.0) is b'n02391049 zebra'  label index is: 340
    prediction 4 (probability 0.0) is b'n02389026 sorrel'  label index is: 339
    
    pi@raspberrypi:~/workspace/ncsdk/examples/caffe/GoogLeNet $ cd ../AlexNet/
    pi@raspberrypi:~/workspace/ncsdk/examples/caffe/AlexNet $ make run
    
    making prereqs
    ...
    [Error 28] Caffe Error: MemoryError. Potential Cause: Available RAM not sufficient for Network to be loaded into Caffe
    
    making run
    ./run.py
    Device 0 Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 134.378653 ms (6.140339 MB/s)
    Boot successful, device address 1.5.4.4.3
    Found Address: 1.5.4.4.3 - VID/PID 03e7:f63b
    done
    Booted 1.5.4.4.3 -> VSC
    Traceback (most recent call last):
      File "./run.py", line 63, in <module>
        with open(network_blob, mode='rb') as f:
    FileNotFoundError: [Errno 2] No such file or directory: 'graph'
    Makefile:90: recipe for target 'run' failed
    make: *** [run] Error 1
    
    pi@raspberrypi:~/workspace/ncsdk/examples/caffe/AlexNet $ cd ../SqueezeNet/
    pi@raspberrypi:~/workspace/ncsdk/examples/caffe/SqueezeNet $ make run
    
    making prereqs
    ...
    making run
    ./run.py
    Found stale device, resetting
    Device 0 Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.5.4.4.3 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 153.405999 ms (5.378737 MB/s)
    Boot successful, device address 1.5.4.4.3
    Found Address: 1.5.4.4.3 - VID/PID 03e7:f63b
    done
    Booted 1.5.4.4.3 -> VSC
    
    ------- predictions --------
    prediction 0 (probability 99.12109375%) is b'n03272010 electric guitar'  label index is: 546
    prediction 1 (probability 0.335884094238%) is b'n04517823 vacuum, vacuum cleaner'  label index is: 882
    prediction 2 (probability 0.151348114014%) is b'n02676566 acoustic guitar'  label index is: 402
    prediction 3 (probability 0.0977516174316%) is b'n03109150 corkscrew, bottle screw'  label index is: 512
    prediction 4 (probability 0.0661373138428%) is b'n03532672 hook, claw'  label index is: 600
    
  • THAT WAS IT!

    Since the NCS blocks the other USB ports, I had used a USB extension cord to connect it. Apparently that is a bad idea (power drop in the cord?). I took that cord out, and plugged the NCS stick directly into the back of the R-Pi, and it started to work! Whew, wish I had thought of that first, would have saved us a lot of time and headache. Here is the output now:


    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $ python3 run.py
    Device 0 Address: 1.4 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.4 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.902934 ms (7.576751 MB/s)
    Boot successful, device address 1.4
    Found Address: 1.4 - VID/PID 03e7:f63b
    done
    Booted 1.4 -> VSC

    ------- predictions --------
    prediction 0 (probability 0.99609) is n03272010 electric guitar label index is: 546
    prediction 1 (probability 0.0035095) is n02676566 acoustic guitar label index is: 402
    prediction 2 (probability 0.0) is n02396427 wild boar, boar, Sus scrofa label index is: 342
    prediction 3 (probability 0.0) is n02391049 zebra label index is: 340
    prediction 4 (probability 0.0) is n02389026 sorrel label index is: 339
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/GoogLeNet $ cd ../AlexNet/
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/AlexNet $ python3 run.py
    Device 0 Address: 1.4 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.4 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.838054 ms (7.581268 MB/s)
    Boot successful, device address 1.4
    Found Address: 1.4 - VID/PID 03e7:f63b
    done
    Booted 1.4 -> VSC

    ------- predictions --------
    prediction 0 (probability 94.970703125%) is n03272010 electric guitar label index is: 546
    prediction 1 (probability 4.76684570312%) is n02676566 acoustic guitar label index is: 402
    prediction 2 (probability 0.102138519287%) is n02787622 banjo label index is: 420
    prediction 3 (probability 0.0409126281738%) is n04517823 vacuum, vacuum cleaner label index is: 882
    prediction 4 (probability 0.0347137451172%) is n04141076 sax, saxophone label index is: 776
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/AlexNet $ cd ../SqueezeNet/
    pi@raspberrypi:~/movidius/ncsdk/examples/caffe/SqueezeNet $ python3 run.py
    Device 0 Address: 1.4 - VID/PID 03e7:2150
    Starting wait for connect with 2000ms timeout
    Found Address: 1.4 - VID/PID 03e7:2150
    Found EP 0x81 : max packet size is 512 bytes
    Found EP 0x01 : max packet size is 512 bytes
    Found and opened device
    Performing bulk write of 865212 bytes...
    Successfully sent 865212 bytes of data in 108.780791 ms (7.585259 MB/s)
    Boot successful, device address 1.4
    Found Address: 1.4 - VID/PID 03e7:f63b
    done
    Booted 1.4 -> VSC

    ------- predictions --------
    prediction 0 (probability 99.12109375%) is n03272010 electric guitar label index is: 546
    prediction 1 (probability 0.335884094238%) is n04517823 vacuum, vacuum cleaner label index is: 882
    prediction 2 (probability 0.151348114014%) is n02676566 acoustic guitar label index is: 402
    prediction 3 (probability 0.0977516174316%) is n03109150 corkscrew, bottle screw label index is: 512
    prediction 4 (probability 0.0661373138428%) is n03532672 hook, claw label index is: 600

  • @AshwinVijayakumar - Thanks for all your help and patience. You may want to include something about plugging the NCS directly into the back of the R-Pi (or use a Powered Hub) in the docs for the future.

    -Kal.

Sign In or Register to comment.