文章 ID: 000057876 内容类型: 错误讯息 上次审核日期: 2023 年 02 月 09 日

错误:在英特尔凌动®平台上运行OpenVINO™培训后优化工具套件 (POT) 时的“非法指令”

环境

采用 英特尔凌动® 处理器 N4200 或 E3850Ubuntu* 18.04 LTSOpenVINO™ 工具套件 2020.4 的平台

BUILT IN - ARTICLE INTRO SECOND COMPONENT
总结

在 英特尔凌动® 平台上运行OpenVINO™培训后优化工具包 (POT) 时可解决“非法指令”错误的选项

说明

无法使用 POT 优化 Tensorflow (TF) 或 MXNet 模型,以便在 英特尔凌动® 平台上使用 OpenVINO™ 工具套件进行推理。

  • 运行 pot -h
  • 接收错误消息: 非法指令例外
解决方法

选择 两个选项之一:

  1. 在大多数情况下,POT 不需要 TensorFlow (TF) 或 MXNet。 使用 virtualenv 用于清洁的 python 环境:

    $ python3 -m pip 安装 virtualenv

    $ python3 -m virtualenv -p “which python3”

  2. 如果在评估使用 TF 或 MXNet 作为后端的模型时使用 POT 或 AccuracyChecker, 则使用 非 AVX 版本的 TF/MXNet。例如,使用 conda 分发版,或者从源代码进行编译。

请参阅 以下链接以从源代码构建:

其他信息:

与 MXNet 类似,pypi 的 TensorFlow (TF) 从 1.6 版开始随 AVX 发运。英特尔凌动® E3950 处理器支持 SSE 指令,不支持 AVX。因此,在不支持 AVX 的设备上运行 POT 时,导入 TF 或 MXNet 模型将导致非法指令错误。

POT 本身不直接依赖于 TF 或 MXNet。POT 取决于模型优化器和准确性检查器,可能依赖于 TF 或 MXNet。为了尽量减少这种情况,OpenVINO™工具套件 2021.1 将 TensorFlow 的导入限制到真正使用此库的案例,例如在评估使用 TF 作为后端的模型时。对于同一场景,MXNet 也很麻烦,因此也可以这样做。

但是,SSE 系统(如英特尔凌动®平台)并未用于校准目的。不建议将英特尔凌动®平台用于 POT 量化。

相关产品

本文适用于 2 产品

全部显示

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。