Windows安装openvino过程中的问题记录

  • Post author:
  • Post category:其他




一、Windows安装openvino参考资料:

1.

windows10 64位 OpenVINO安装教程


博主的配置:

安装的vs2019版本,安装过程中遇到

Q1



openvino安装路径更换到D盘,测试过程中会遇到

Q2



2.

Windows 10 系统安装 OpenVINO (2022.1.0)



二、测试时遇到的问题:



1.参考资料

windows10 64位 OpenVINO安装的必要步骤

中的运行推理管道验证脚本部分,出现下面错误。

Q1:‘vswhere’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

'vswhere' 不是内部或外部命令,也不是可运行的程序或批处理文件。
 Build tools for Visual Studio 2015 / 2017 / 2019 cannot be found. 
 If you use Visual Studio 2017, please download and install build tools from
 https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
 Error

原因:安装的vs2019版本

解决方法:重新安装2017版本

Q2:could not find any instance of Visual Studio.

could not find any instance of Visual Studio.
-- Configuring incomplete, errors occurred!
See also "D:/Program File/Intel/openvino_2020.3.355/deployment_tools/inference_engine/samples/cpp/CMakeFiles/CMakeOutput.log".
Error

原因: OpenVINO 安装到D盘

解决办法:把.bat 脚本中的“cd”命令全都改成“cd /d”,或者把 OpenVINO 安装到 C盘。



2.运行demo_squeezenet_download_convert_run.bat报错

 ###############|| Run Inference Engine classification sample||###############
等待 2 秒,按一个键继续 …
已复制 1 个文件。
系统找不到指定的路径。
classification_sample.exe -i F:\Movidius\OpenVINO_toolkit\computer_vision_sdk_2018.5.456\deployment_tools\demo\car.png -m “C:\Users\Chan\Documents\Intel\OpenVINO\openvino_models\ir\FP32\classification\squeezenet\1.1\caffe\squeezenet1.1.xml” -d CPU
‘classification_sample.exe’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Error

解决方法:

在这里插入图片描述

运行demo_security_barrier_camera.bat遇到同样的问题,解决方法一样。



3.运行D:\Program File\Intel\openvino_2020.3.355\deployment_tools\model_optimizer>python mo_onnx.py –input_model E:\work\yolov5\yolov5s.onnx报错

在这里插入图片描述

解决方法:

pip uninstall nuimpy

pip install numpy==1.15.1



4。运行python export.py –weights yolov5s.pt –img 640 –batch 1报错

首先要修改export.py文件内的opset=10


> [ ERROR ]  Cannot infer shapes or values for node "Resize_118".
[ ERROR ]  operands could not be broadcast together with shapes (4,) (0,)
[ ERROR ]
[ ERROR ]  It can happen due to bug in custom shape infer function <function UpsampleOp.upsample_infer at 0x000001BEBC1976A8>.
[ ERROR ]  Or because the node inputs have incorrect values/shapes.
[ ERROR ]  Or because input shapes are incorrect (embedded to the model or passed via --input_shape).
[ ERROR ]  Run Model Optimizer with --log_level=DEBUG for more information.
[ ERROR ]  Exception occurred during running replacer "REPLACEMENT_ID" (<class 'extensions.middle.PartialInfer.PartialInfer'>): Stopped shape/value propagation at "Resize_118" node.
 For more information please refer to Model Optimizer FAQ (https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_Model_Optimizer_FAQ.html), question #38.

解决方法:python export.py –weights yolov5s.pt –include torchscript onnx



5.在python下运行from openvino.inference_engine import IECore,出现from .ie_api import * ImportError: DLL load failed报错

第一步:按下图添加代码

在这里插入图片描述

第二步:执行setupvars.bat获取path的最新结果

在这里插入图片描述

第三步:复制新增的环境变量信息,手动添加的系统环境变量path中

在这里插入图片描述



6.提示ImportError: DLL load failed while importing ie_api: 找不到指定的模块。

1.yolo\lib\site-packages\openvino\inference_engine_

init

_.py下的错误

 Traceback (most recent call last):   
  File "F:/DLproject/YOLOX-main/demo/OpenVINO/python/openvino_inference.py", line 15, in <module>
    from openvino.inference_engine import IECore
  File "E:\ProgramData\Anaconda3\envs\yolo\lib\site-packages\openvino\inference_engine\__init__.py", line 31, in <module>
    from .ie_api import *
ImportError: DLL load failed while importing ie_api: 找不到指定的模块。

解决方法:在__init__.py文件中的对应位置加上:os.environ[‘PATH’] = os.path.abspath(lib_path) + ‘;’ + os.environ[‘PATH’]

具体如下:

# -*- coding: utf-8 -*-
# Copyright (C) 2018-2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
 
import os
import sys
 
if sys.platform == 'win32':
    # Installer, yum, pip installs openvino dlls to the different directories
    # and those paths need to be visible to the openvino modules
    #
    # If you're using a custom installation of openvino,
    # add the location of openvino dlls to your system PATH.
    #
    # looking for the libs in the pip installation path by default.
    openvino_libs = [os.path.join(os.path.dirname(__file__), '..', '..', 'openvino', 'libs')]
    # setupvars.bat script set all libs paths to OPENVINO_LIB_PATHS environment variable.
    openvino_libs_installer = os.getenv('OPENVINO_LIB_PATHS')
    if openvino_libs_installer:
        openvino_libs.extend(openvino_libs_installer.split(';'))
    for lib in openvino_libs:
        lib_path = os.path.join(os.path.dirname(__file__), lib)
        if os.path.isdir(lib_path):
            # On Windows, with Python >= 3.8, DLLs are no longer imported from the PATH.
            if (3, 8) <= sys.version_info:
                os.add_dll_directory(os.path.abspath(lib_path))
                # 加上这句
                os.environ['PATH'] = os.path.abspath(lib_path) + ';' + os.environ['PATH']
            else:
                os.environ['PATH'] = os.path.abspath(lib_path) + ';' + os.environ['PATH']
 
from .ie_api import *
 
__all__ = ['IENetwork', 'TensorDesc', 'IECore', 'Blob', 'PreProcessInfo', 'get_version']
__version__ = get_version()  # type: ignore

2.python\python3.7\openvino\inference_engine_

init

_.py下的错误

问题描述:

在这里插入图片描述

解决方法:在环境变量中新增如下两项

在这里插入图片描述



7.运行mo.py文件

1.用netron查看onnx文件,查找transpose

在这里插入图片描述

2.点击查到的transpose,查看其对应的conv

在这里插入图片描述

3.点击conv,查看name

在这里插入图片描述

4.运行如下代码

python mo.py --input_model yolov5s.onnx -s 255 --reverse_input_channels --output Conv_156
(最后填写的是第3步的name)



8.模型推理



https://github.com/violet17/yolov5_demo

下载yolo5_demo.py文件,运行如下代码

python yolov5_demo.py -i E:\work\yolov5\data\images\bus.jpg -m yolov5s.xml

注:每次运行前需要先运行openvino\bin下的setupvars.bat文件



版权声明:本文为weixin_42586726原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。