当前位置:   article > 正文

Windows安装openvino过程中的问题记录_on windows, with python >= 3.8, dlls are no longer

on windows, with python >= 3.8, dlls are no longer imported from the path. i

一、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
  • 1
  • 2
  • 3
  • 4
  • 5

原因:安装的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
  • 1
  • 2
  • 3
  • 4

原因: 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

解决方法:
在这里插入图片描述

运行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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

解决方法: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: 找不到指定的模块。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

解决方法:在__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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

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)
  • 1
  • 2

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
  • 1

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/161469
推荐阅读
相关标签
  

闽ICP备14008679号