OpenVINO开发小组
直播中

爱与友人

9年用户 953经验值
擅长:可编程逻辑 模拟技术 存储技术
私信 关注
[问答]

如何将Detectron2和Layout-LM模型转换为OpenVINO中间表示(IR)和使用CPU插件进行推断?

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

回帖(1)

王淑英

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


  • 通过引用官方的 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
  • 对于 output.yaml,通过在 Colab 教程中添加以下行来创建配置文件:print(cfg.dump())
    和 f 一同打开(“output.yaml”,“w”):
    f.write(cfg.dump())
  • 安装 通过 pip* OpenVINO: $ pip 安装 openvino-dev
  • 转换 ONNX* 模型到中间表示 (IR): $ mo --input_model ./model/model.onnx
  • 通过 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™。


  • Convert PyTorch* 模型到 ONNX* 模型格式: $ pip 安装变压器 [onnx]
    $ python3 -m 变压器.onnx --model=microsoft/layoutlm-base-uncased onnx
  • 安装 通过 pip* OpenVINO: $ pip 安装 openvino-dev
  • 转换 ONNX* 模型到中间表示 (IR): $ mo --input_model ./onnx/model.onnx
  • 使用 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 定义)可能基于用例不同。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分