Ir al contenido principal
Base de conocimientos de asistencia

Pasos para convertir e inferencia de modelos Detectron2* y Layout-LM* con kit de herramientas OpenVINO™

Tipo de contenido: Resolución de problemas   |   ID del artículo: 000095500   |   Última revisión: 23/06/2023

Entorno

Kit de herramientas OpenVINO™ 2022.3 LTS Ubuntu* 20.04 LTS Python* 3.8.10

Descripción

No se puede determinar cómo convertir los modelos Detectron2* y Layout-LM* a OpenVINO™ Representación intermedia (IR) e inferencia con el complemento de CPU.

Resolución

Para convertir el modelo de Detectron2, siga el tutorial de Colab para entrenar e inferencia el modelo Detectron2* con PyTorch* y también siga los pasos descritos a continuación para convertir el modelo al formato ONNX* y luego al formato IR.

  1. Exporte el modelo Detectron2* PyTorch* al formato ONNX* consultando los tutoriales oficiales de Detectron2, colab2 utilizando export_model.py con la característica de trazado.

    $ python export_model.py --config-file ./output.yaml --sample-image ./new.jpg --output ./model/ --export-method tracing --format onnx MODEL. PESOS./output/model_final.pth MODEL. CPU DEL DISPOSITIVO

  2. Para output.yaml, cree el archivo de configuración agregando las siguientes líneas en el tutorial de Colab:

    print(cfg.dump())
    con open("output.yaml", "w") como f:
    f.write(cfg.dump())

  3. Instalar OpenVINO a través de 100 000 000 500

    $ de instalación devío openvino-dev

  4. Convertir Modelo de ONNX* a representación intermedia (IR):

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

  5. Ejecute benchmark_app a inferencia con OpenVINO:

    Con el modelo ONNX*:
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async -hint throughput
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async -hint la latencia

    Con el modelo IR:
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint throughput
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint la latencia

Para convertir el modelo Layout-LM. Siga los pasos que se describen a continuación para convertir el modelo y la inferencia de Layout-LM con OpenVINO™.

  1. Modelo Convert PyTorch* a formato de modelo ONNX*:

    $ 5000 millones de dólares [onnx]
    $ python3 -m'', ' 'onnx', 'model=microsoft/layoutlm-base-uncased onnx'

  2. Instalar OpenVINO a través de 100 000 000 500

    $ de instalación devío openvino-dev

  3. Convertir Modelo de ONNX* a representación intermedia (IR):

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

  4. Ejecute benchmark_app a inferencia con OpenVINO:

    Con el modelo ONNX*:
    $ benchmark_app -m onnx/model.onnx -d CPU -niter 100 -api async -hint throughput -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 -hint latency -data_shape input_ids[1,1],bbox[1,1,4],attention_mask[1,1],token_type_ids[1,1]

    Con el modelo IR:
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint throughput -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]

    Nota

    Las formas de entrada (definidas por -data_shape en los comandos anteriores) pueden variar según el caso de uso.

Productos relacionados

Este artículo se aplica a 3 productos.
Software del procesador Intel® Xeon Phi™ OpenVINO™ toolkit Bibliotecas de desempeño

Descargos de responsabilidad legales

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.