无法使用OpenVino推断编译OpenCV,无法读取cpuid.txt

时间:2019-02-09 13:20:22

标签: c++ opencv openvino

我正在尝试使用OpenVino推断编译OpenCV,如下所述:

https://github.com/opencv/opencv/wiki/Intel's-Deep-Learning-Inference-Engine-backend

但是当我尝试在Windows上生成MSVC(2017)项目时,出现此错误:

CMake Error at C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/cmake/CPUID.cmake:324 (file):
  file STRINGS file "C:/local/opencv-build/cpuid.txt" cannot be read.
Call Stack (most recent call first):
  C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/cmake/feature_defs.cmake:17 (include)
  C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/CMakeLists.txt:9 (include)

使用的工具:

  • OpenCV 4.0.0源代码
  • OpenVino 5.0.1
  • Visual Studio 2017
  • CMake-Gui 3.13

3 个答案:

答案 0 :(得分:0)

我认为您为某些工具安装了不合适的版本。 请尝试使用CMake 3.4或更高版本,这是构建OpenVINO的英特尔®发行版所必需的。

请尝试按照“ https://software.intel.com/en-us/articles/OpenVINO-Install-Windows”中的步骤进行安装,并验证您是否能够使用OpenVino推断编译OpenCV。

答案 1 :(得分:0)

OpenVino上有一个forum post,表明该问题有一些解决方法。这是建议的解决方案:

...\Intel\computer_vision_sdk_2018.5.456\deployment_tools\inference_engine\src\extension\cmake\CPUID.cmake中(假设您遵循默认的OpenVino Toolkit安装,否则您首先需要从安装文件的位置找到该文件),请尝试在第251行进行以下更改:

// std::ofstream fo(\"cpuid.txt\"); old line
std::ofstream fo(\"${CMAKE_BINARY_DIR}/cpuid.txt\");

*确保变量名fo与它后面的代码一致。

当同一文件的第319行获取文本文件时,这样可以避免路径不一致:

set(_CPUID_INFO "${CMAKE_BINARY_DIR}/cpuid.txt")

从堆栈跟踪中,您的${CMAKE_BINARY_DIR}变量似乎设置为C:/local/opencv-build,因此您应该期望在那里生成cpuid.txt

答案 2 :(得分:0)

我也遇到了此错误,但是我更改了 CPUID.cmake 这一行,如下所示:

if(HAVE_CPUID_INFO)
    set(_CPUID_INFO "/home/huihui/intel/computer_vision_sdk_2018.4.420/inference_engine/build/cpuid.txt")

现在,该错误已解决。