跳转至主要内容
支持知识库

使用 OpenVINO™ 工具套件转换和推断检测模块 2* 和 Layout-LM* 模型的步骤

内容类型: 故障排除   |   文章 ID: 000095500   |   上次审核日期: 2023 年 06 月 23 日

环境

OpenVINO™工具套件 2022.3 LTS Ubuntu* 20.04 LTS Python* 3.8.10

说明

无法确定如何将 Detectron2* 和 Layout-LM* 模型转换为OpenVINO™中间表示 (IR) 和使用 CPU 插件进行推断。

解决方法

要转换 Detectron2 模型,请按照 Colab 教程使用 PyTorch* 训练和推断 Detectron2* 模型,并按照下面概述的步骤将模型转换为 ONNX* 格式,然后转换为 IR 格式。

  1. 通过引用官方的 Detectron2colab2 教程,使用带跟踪功能的 export_model.py,将 Detectron2* PyTorch* 模型出到 ONNX* 格式。

    $ python export_model.py --config-file ./output.yaml --sample-image ./new.jpg --output ./model/ --export-method tracing --format onnx MODEL。WEIGHTS ./output/model_final.pth 模型。DEVICE cpu

  2. 对于 output.yaml,通过在 Colab 教程中添加以下行来创建配置文件:

    print(cfg.dump())
    和 f 一同打开(“output.yaml”,“w”):
    f.write(cfg.dump())

  3. 安装 通过 pip* OpenVINO:

    $ pip 安装 openvino-dev

  4. 转换 ONNX* 模型到中间表示 (IR):

    $ mo --input_model ./model/model.onnx

  5. 通过 OpenVINO 运行benchmark_app推理:

    使用 ONNX* 型号:
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async - 提示吞吐量
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async - 提示延迟

    使用 IR 模型:
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async - 提示吞吐量
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async - 提示延迟

要转换 Layout-LM 模型。 按照 下面概述的步骤转换 布局-LM 模型和推理OpenVINO™。

  1. Convert PyTorch* 模型到 ONNX* 模型格式:

    $ pip 安装变压器 [onnx]
    $ python3 -m 变压器.onnx --model=microsoft/layoutlm-base-uncased onnx

  2. 安装 通过 pip* OpenVINO:

    $ pip 安装 openvino-dev

  3. 转换 ONNX* 模型到中间表示 (IR):

    $ mo --input_model ./onnx/model.onnx

  4. 使用 OpenVINO 运行benchmark_app以进行推理:

    使用 ONNX* 型号:
    $ benchmark_app -m onnx/model.onnx -d CPU -niter 100 -api async - 提示吞吐量 - data_shape input_ids[1,1],bbox [1,1,4],attention_mask[1,1],token_type_ids[1,1]
    $ benchmark_app -m onnx/model.onnx -d CPU -niter 100 -api async - 提示延迟 -data_shape input_ids[1,1],bbox[1,1,4],attention_mask[1,1],token_type_ids[1,1]

    使用 IR 模型:
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint 吞吐量 - data_shape input_ids[1,1],bbox[1,1,4],attention_mask[1,1],token_type_ids[1,1]
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint latency -data_shape input_ids[1,1],bbox[1,1,4],attention_mask[1,1],token_type_ids[1,1]

    注意

    输入形状(由上面命令 data_shape 定义)可能基于用例不同。

相关产品

本文适用于 3 产品。
英特尔® 至强融核™ 处理器软件 OpenVINO™ 工具包 性能函数库

免责声明

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