Intel® Movidius™ Neural Compute SDK

View the Project on GitHub

============================================================

Movidius Neural Compute SDK Release Notes

V2.04.00 2018-05-04

============================================================

As of V2.04.00, SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents.

SDK Notes:

New features:

  1. Tensorflow 1.6 supported. Tensorflow 1.6 is automatically installed on Ubuntu.
  2. Multiple network graphs can be allocated to a single neural compute device (up to 10 graphs per device, limited by device memory)
  3. 32 bit floating point (FP32) input/output is supported

Networks:

  1. No change

Layers:

  1. Support PlaceholderWithDefault nodes in TensorFlow models.

API Notes:

  1. API has been heavily refactored, please review NCAPI v1 vs. NCAPI v2 for feature comparison.
  2. Apps written with NCAPI v1 are not compatible with this release and need to be migrated to NCAPI v2, refer to Migrating Applications from NCAPI v1 to NCAPI v2 for information about migrating apps to the new API.

Network Notes:

Support for the following networks has been tested.

Caffe

  1. GoogleNet V1
  2. SqueezeNet V1.1
  3. LeNet
  4. CaffeNet
  5. VGG (Sousmith VGG_A)
  6. Alexnet
  7. Ti1. nyYolo v1
  8. VGG 16
  9. Resnet 50
  10. SSD Mobilenet v1

Tensorflow r1.6

  1. inception-v1
  2. inception-v2
  3. inception-v3
  4. inception-v4
  5. Inception ResNet v2
  6. VGG 16
  7. Mobilenet_V1_1.0 variants:
    • MobileNet_v1_1.0_224
    • MobileNet_v1_1.0_192
    • MobileNet_v1_1.0_160
    • MobileNet_v1_1.0_128
    • MobileNet_v1_0.75_224
    • MobileNet_v1_0.75_192
    • MobileNet_v1_0.75_160
    • MobileNet_v1_0.75_128
    • MobileNet_v1_0.5_224
    • MobileNet_v1_0.5_192
    • MobileNet_v1_0.5_160
    • MobileNet_v1_0.5_128
    • MobileNet_v1_0.25_224
    • MobileNet_v1_0.25_192
    • MobileNet_v1_0.25_160
    • MobileNet_v1_0.25_128
  8. TinyYolo v2 via Darkflow tranformation

Firmware Features:

  1. Convolutions
    • NxN Convolution with Stride S.
    • The following cases have been extensively tested: 1x1s1,3x3s1,5x5s1,7x7s1, 7x7s2, 7x7s4
    • Group convolution
    • Depth Convolution
    • Dilated convolution
  2. Max Pooling Radix NxM with Stride S
  3. Average Pooling: Radix NxM with Stride S, Global average pooling
  4. Local Response Normalization
  5. Relu, Relu-X, Prelu (see erattum #10)
  6. Softmax
  7. Sigmoid
  8. Tanh (see erratum #10)
  9. Deconvolution
  10. Slice
  11. Scale
  12. ElmWise unit : supported operations - sum, prod, max
  13. Fully Connected Layers (limited support – see erratum #8)
  14. Reshape
  15. Flatten
  16. Power
  17. Crop
  18. ELU
  19. Batch Normalization
  20. L2 Normalization
  21. Input Layer

Bug Fixes:

  1. Fixed: Facenet and other network regression due to TensorFlow 1.6 changes.

Errata:

  1. Python 2.7 is fully supported for making user applications, but only the helloworld_py example runs as-is in both python 2.7 and 3.5 due to dependencies on modules.
  2. Depth-wise convolution may not be supported if channel multiplier > 1.
  3. If working behind proxy, proper proxy settings must be applied for the installer to succeed.
  4. Although improved, the installer is known to take a long time on Raspberry Pi. Date/time must be correct for SDK installation to succeed on Raspberry Pi.
  5. Default system virtual memory swap file size is too small to compile AlexNet, and VGG networks on Raspberry Pi.
  6. Raspberry Pi users will need to upgrade to Raspbian Stretch for releases after 1.09.
  7. Convolution may fail to find a solution for very large inputs.
  8. Depth-wise convolution is tested for 3x3 kernels.
  9. A TanH layer’s “top” & “bottom” blobs must have different names.  This is different from a ReLU layer, whose “top” & “bottom” should be named the same as its previous layer.
  10. On upgrade from previous versions of SDK, the installer will detect if openCV 3.3.0 was installed, for example from http://github.com/movidius/ncappzoo/apps/stream_ty_gn/install-opencv-from_source.sh. For this release, the installer will prompt to uninstall this specific version of openCV. This is required for ssd-caffe to run correctly. After 2.04 installation is complete, openCV 3.3.0 can be re-installed and the ssd-caffe will continue to function.
  11. The MTCNN network in the app zoo is showing unexpected behavior for this release, and is being investigated. To use MTCNN, please use version 1.12.00 of SDK.
  12. Although mvNCCheck shows per-pixel error for some metrics for mobilenet_v1_224, classification results are not impacted.
  13. Only Ubuntu 16.04 LTS is supported as a host OS for this release. Ubuntu 18.04 is being evaluated.
  14. The visualization graph created by mvNCProfile may have an erroneous connection through the data layer.
  15. Initial validation has been done on SSD Mobilenet, TinyYolo v1 and v2, but more thorough evaluation is underway.