环境介绍:

我是win 7 64位系统,用VMware虚拟机装了个Ubuntu 16.04LTS 64位的linux系统;

接下来是参照Intel给的参考步骤开始部署2代NCS的工作环境。

官方资料:https://software.intel.com/en-us/articles/OpenVINO-install-Linux#set-the-envienment-variables

要求硬件:

  • 6th-8th Generation Intel® Core™
  • Intel® Xeon® v5 family
  • Intel® Xeon® v6 family
  • Intel® Pentium® processor N4200/5, N3350/5, N3450/5 with Intel® HD Graphics
  • Intel® Movidius™ Neural Compute Stick 
  • Intel® Neural Compute Stick 2
  • Intel® Vision Accelerator Design with Intel® Movidius™ VPUs

操作系统要求:

  • Ubuntu* 16.04 long-term support (LTS), 64-bit
  • CentOS* 7.4 or higher, 64-bit
  • Yocto Project* Poky Jethro* v2.0.3, 64-bit (for target only)

当下述步骤都完成后则表明安装过程真正完成:

1.安装 外部软件依赖;

2.安装 Intel OpenVINO分布式工具包 的核心部分;

3.设置 OpenVINO的环境变量并更新 .bashrc;

4.配置Model Optimizer;

5.运行两个demo;

6.(可选)安装下面对应的软件或驱动:

      Integrated Graphics

      Intel® Movidius™ Neural Compute Stick (NCS) and Intel® Neural Compute Stick 2

      Intel® Vision Accelerator Design with Intel® Movidius™ VPUs


安装步骤

先下载对应操作系统的OpenVINO工具包,我下载的是Linux版本的,文件名为:l_openvino_toolkit_p_2018.5.445.tgz (下载链接) ,该文件是免费下载的但需要先注册登录下;我在自己用户名 /home/csq下新建了个叫NCS的文件夹,将上述文件复制并解压到  /home/csq/NCS目录下了;

cd /home/csq/NCS
tar -zxf l_openvino_toolkit_p_2018.5.445.tgz

Step 1:安装 外部软件依赖

切到解压后的问价夹中然后下载与安装外部软件依赖项(OpenCV Intel优化版本,深度学习推理引擎,深度学习模型优化工具)

cd l_openvino_toolkit_p_2018.5.445
sudo -E ./install_cv_sdk_dependencies.sh

注:模型优化器有额外的用途,本文后面会讲到;

Step 2:安装OpenVINO 工具包核心组件

如果你之前已经安装过较早版本的包,请重命名或删除以下两个文件夹;

/home/<user>/inference_engine_samples
/home/<user>/openvino_models

下面是过程,推荐使用GUI图像界面向导方式安装,

(推荐)用GUI方式安装过程请运行指令:

sudo ./install_GUI.sh

用命令行方式安装请使用如下指令:

sudo ./install.sh

以下是GUI方式——

安装比较简单,差不多默认点Next就OK,也可以自定义安装路径。最后点击Finish就完成OpenVINO的安装;

如果你使用的是root账户安装,默认安装路径为: /opt/intel/computer_vision_sdk_<version>/

如果你使用的是一般用户(比如我就是这么操作),默认安装路径:/home/<user>/intel/computer_vision_sdk_<version>/

 Step 3:设置 OpenVINO的环境变量并更新 .bashrc

在运行OpenVINO应用前需要更改一些环境变量;

运行如下指令:

source /opt/intel/computer_vision_sdk/bin/setupvars.sh

 设置.bashrc

打开bashrc,加入 下面这行代码:

source /opt/intel/computer_vision_sdk/bin/setupvars.sh

 保存并关闭bashrc后,任意打开一个终端,你会看到“[setupvars.sh] OpenVINO environment initialized” 这样的信息提示在终端界面上。

 

 Step 4:配置Model Optimizer

该步骤非常重要,你必须配置至少一种框架。

你将预先训练好的模型通过模型优化器,你会得到一个网络的中间形态Intermediate Representation (IR),这个IR是描述模型的一对文件:

  • .xml: Describes the network topology (描述网络拓扑结构)
  • .bin: Contains the weights and biases binary data (含有权重与偏置值)

推理引擎读取,加载,推理 IR文件,使用CPU,GPU,VPU的API接口。

模型优化器是基于python的命令行工具(mo.py),位于/opt/intel/computer_vision_sdk/deployment_tools/model_optimizer.

支持:Caffe*, TensorFlow*, MXNet*, and ONNX* 训练的模型

 

 模型优化器配置步骤如下:

我选择的是方式一,一次性对所有框架模型做配置。

方式一:切到Model Optimizer prerequisites 目录:

cd /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites

 执行如下命令为Caffe, TensorFlow, MXNet, Kaldi*, and ONNX这些模型都进行配置:

sudo ./install_prerequisites.sh

方式二:切到Model Optimizer prerequisites 目录:

cd /opt/intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites

 运行如下指令为你需要的模型框架做配置:

  • For Caffe:
    1sudo ./install_prerequisites_caffe.sh
  • For TensorFlow:
    1sudo ./install_prerequisites_tf.sh
  • For MXNet:
    1sudo ./install_prerequisites_mxnet.sh
  • For ONNX:
    1sudo ./install_prerequisites_onnx.sh
  • For Kaldi:
    1sudo ./install_prerequisites_kaldi.sh

配置完成~

 

 

下图是运行./install_prerequistes.sh安装时遇到的问题,报:"Error on or near linr 72; exiting with status 1"你过你没遇到该问题则无视。

 

遇到的话可参考我的解决方法,

 

先执行sudo pkill -KILL appstreamcli

然后wget 两文件,见图

然后 dkpt 一行指令,见图

执行后再运行./install_prerequistes.sh则OK

安装OK,见下图,上述错误解决~ 

Step 5:运行两个demo验证OpenVINO是否安装配置完成

如果需要使用GPU和VPU,后续会讲到,当前步骤只使用CPU验证;

第一个例子:图像分类;

切到/opt/intel/computer_vision_sdk/deployment_tools/demo 目录下;

执行:

./demo_squeezenet_download_convert_run.sh

 分类结果显示Top10的类别和置信度信息。

第二个例子,Inference pipeline例子

在/opt/intel/computer_vision_sdk/deployment_tools/demo/目录下执行

./demo_security_barrier_camera.sh

其工作流是:

1.先检测出车;

2.将检测到的车传到下一个模型检测车车的属性,例如车牌;

3.将车牌传入下一个网络,做字符识别;

测试结果如下——


 为NCS2额外安装软件

Step 6: NCS USB驱动配置

将当前linux用户加入组:

sudo usermod -a -G users "$(whoami)"

安装USB rules:

cat <<EOF > 97-myriad-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
EOF

然后执行:

sudo cp 97-myriad-usbboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
rm 97-myriad-usbboot.rules

 上述指令也可以通过如下指令同等效果实现:

cd <INSTALL_DIR>/install_dependencies/
./install_NCS_udev_rules.sh

 

 

在sudo ldconfig时如果遇到和我一样的错误(so.x不是符号连接~),可参考我图中的解决方法—— 

报的错误是一些so.X文件不是符号连接,我的解决方法是建立硬链接。 

具体的解决请参考我的这篇文章:https://blog.csdn.net/c20081052/article/details/86070800

之后运行sudo ldconfig不再报错 

然后将生成的97-usbboot.rules删除

上面结果表明驱动安装OK;

 Step 7:测试NCS 安装是否OK

将神经计算棒插入电脑,然后执行如下指令:

cd ~/intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites/
./install_prerequisites.sh

cd ~/intel/computer_vision_sdk/deployment_tools/demo
./demo_squeezenet_download_convert_run.sh -d MYRIAD

返回的图像分类结果如上。

你可以试试其他的一些例子,比如:调用摄像头做目标检测,人脸,表情,年龄,性别,姿态等检测。参考:https://software.intel.com/en-us/neural-compute-stick/get-started

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐