https://github.com/movidius/ncappzoo/tree/master/caffe/TinyYolo
ncappzoo/caffe/TinyYolo/
The TinyYolo network can be used for object recognition and classification. See https://pjreddie.com/darknet/yolov1/ for more information on this network. The provided Makefile does the following
Provided Makefile has various targets that help with the above mentioned tasks.
Shows available targets
Runs profile, compile.
Runs the provided network on the NCS and generates per layer statistics that are helpful for understanding the performance of the network on the Neural Compute Stick.
Uses the network description and the trained weights files to generate a Movidius internal ‘graph’ format file. This file is later used for loading the network on to the Neural Compute Stick and executing the network.
Runs the provided run.py python program which sends a single image to the Neural Compute Stick and receives and displays the inference results along with a GUI window showing the identified objects in the image.
Removes all the temporary files that are created by the Makefile
foreverstrong@strong:~$ cd ncs_work/
foreverstrong@strong:~/ncs_work$ ls
ncsdk
foreverstrong@strong:~/ncs_work$ git clone https://github.com/movidius/ncappzoo.git
Cloning into 'ncappzoo'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 3064 (delta 0), reused 0 (delta 0), pack-reused 3063
Receiving objects: 100% (3064/3064), 383.92 MiB | 1.83 MiB/s, done.
Resolving deltas: 100% (1794/1794), done.
Checking connectivity... done.
foreverstrong@strong:~/ncs_work$ ll
total 16
drwxrwxr-x 4 foreverstrong foreverstrong 4096 10月 31 15:24 ./
drwxr-xr-x 19 foreverstrong foreverstrong 4096 10月 31 14:40 ../
drwxrwxr-x 7 foreverstrong foreverstrong 4096 10月 31 15:27 ncappzoo/
drwxrwxr-x 6 foreverstrong foreverstrong 4096 10月 30 14:55 ncsdk/
foreverstrong@strong:~/ncs_work$ cd ncappzoo/
foreverstrong@strong:~/ncs_work/ncappzoo$ ls
apps caffe CONTRIBUTING.md data LICENSE Makefile MAKEFILE_GUIDANCE.md OWNERS README.md tensorflow
foreverstrong@strong:~/ncs_work/ncappzoo$ cd caffe/TinyYolo/
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$ ll
total 36
drwxrwxr-x 2 foreverstrong foreverstrong 4096 10月 31 15:27 ./
drwxrwxr-x 10 foreverstrong foreverstrong 4096 10月 31 15:27 ../
-rw-rw-r-- 1 foreverstrong foreverstrong 206 10月 31 15:27 labels.txt
-rw-rw-r-- 1 foreverstrong foreverstrong 3666 10月 31 15:27 Makefile
-rw-rw-r-- 1 foreverstrong foreverstrong 1459 10月 31 15:27 README.md
-rwxrwxr-x 1 foreverstrong foreverstrong 14554 10月 31 15:27 run.py*
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$ make clean
making clean_caffe_model
rm -f tiny-yolo-v1.prototxt
rm -f tiny-yolo-v1_53000.caffemodel
making clean
rm -f graph
rm -f output.gv
rm -f output.gv.svg
rm -f output_report.html
rm -f output_expected.npy
rm -f zero_weights.caffemodel
rm -f output_result.npy
rm -f output_val.csv
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$ make help
possible make targets:
make help - shows this message
make all - makes the following: prototxt, profile, compile, check, cpp, run_py, run_cpp
make prototxt - downloads and adds input shape to Caffe prototxt file
make caffemodel - downloads the caffemodel for the network
make compile - runs SDK compiler tool to compile the NCS graph file for the network
make profile - runs the SDK profiler tool to profile the network creating output_report.html
make browse_profile - runs the SDK profiler tool and brings up report in browser.
make run - runs the run.py python example program
make clean - removes all created content
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$ make all
making prototxt
Downloading Prototxt file
--2018-10-31 16:19:54-- http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Resolving ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)... 54.231.235.43
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:19:55-- (try: 2) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:19:57-- (try: 3) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:00-- (try: 4) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:04-- (try: 5) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:09-- (try: 6) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1.prototxt
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|54.231.235.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5520 (5.4K) [application/octet-stream]
Saving to: ‘./tiny-yolo-v1.prototxt’
tiny-yolo-v1.prototxt 100%[=======================================================================>] 5.39K --.-KB/s in 0.1s
2018-10-31 16:20:10 (55.5 KB/s) - ‘./tiny-yolo-v1.prototxt’ saved [5520/5520]
got prototext file.
making profile
mvNCProfile tiny-yolo-v1.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...
Time to Execute : 142.36 ms
USB: Myriad Execution Finished
Time to Execute : 124.47 ms
USB: Myriad Execution Finished
USB: Myriad Connection Closing.
USB: Myriad Connection Closed.
Network Summary
Detailed Per Layer Profile
Bandwidth time
# Name MFLOPs (MB/s) (ms)
=====================================================================================================================================================
0 data 0.0324113.8 0.004
1 scale1 173.4 1176.2 8.789
2 pool1 3.2 791.5 7.739
3 scale2 462.4 886.2 15.565
4 pool2 1.6 930.3 3.292
5 scale3 462.4 658.9 10.514
6 pool3 0.8 960.5 1.594
7 scale4 462.4 410.4 8.740
8 pool4 0.4 951.2 0.805
9 scale5 462.4 201.2 11.358
10 pool5 0.2 923.2 0.415
11 scale6 462.4 348.9 8.919
12 pool6 0.1 890.5 0.215
13 scale7 462.4 785.5 12.007
14 scale8 231.2 577.6 9.283
15 fc9 36.9 2150.8 16.363
-----------------------------------------------------------------------------------------------------------------------------------------------------
Total inference time 115.60
-----------------------------------------------------------------------------------------------------------------------------------------------------
Generating Profile Report 'output_report.html'...
making caffemodel
Downloading caffemodel file
--2018-10-31 16:20:22-- http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Resolving ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)... 52.219.24.14
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:24-- (try: 2) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:26-- (try: 3) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:29-- (try: 4) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:33-- (try: 5) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:38-- (try: 6) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:44-- (try: 7) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:51-- (try: 8) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2018-10-31 16:20:59-- (try: 9) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
--2018-10-31 16:21:08-- (try:10) http://ncs-forum-uploads.s3.amazonaws.com/ncappzoo/tiny_yolo/tiny-yolo-v1_53000.caffemodel
Connecting to ncs-forum-uploads.s3.amazonaws.com (ncs-forum-uploads.s3.amazonaws.com)|52.219.24.14|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 108402374 (103M) [application/octet-stream]
Saving to: ‘./tiny-yolo-v1_53000.caffemodel’
tiny-yolo-v1_53000.caffemodel 100%[=======================================================================>] 103.38M 3.46MB/s in 31s
2018-10-31 16:21:40 (3.30 MB/s) - ‘./tiny-yolo-v1_53000.caffemodel’ saved [108402374/108402374]
making compile
mvNCCompile -o graph -w tiny-yolo-v1_53000.caffemodel -s 12 tiny-yolo-v1.prototxt
mvNCCompile v02.00, Copyright @ Movidius Ltd 2016
/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")
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$ make run_py
making prototxt
Prototxt file already exists
making caffemodel
caffemodel file already exists
making compile
mvNCCompile -o graph -w tiny-yolo-v1_53000.caffemodel -s 12 tiny-yolo-v1.prototxt
mvNCCompile v02.00, Copyright @ Movidius Ltd 2016
/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")
making run_py
python3 ./run.py
Running NCS Caffe TinyYolo example
Displaying image with objects detected in GUI
Click in the GUI window and hit any key to exit
Found this many objects in the image: 1
box at index 0 is... left: 227, top: 184, right: 589, bottom: 678
Finished
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$
foreverstrong@strong:~/ncs_work/ncappzoo/caffe/TinyYolo$