Ir para o conteúdo principal
Base de conhecimentos do Suporte

Etapas para converter e inferência detectron2* e layout-LM* com OpenVINO™ kit de ferramentas

Tipo de conteúdo: Solução de problemas   |   ID do artigo: 000095500   |   Última revisão: 23/06/2023

Ambiente

OpenVINO™ kit de ferramentas 2022.3 LTS Ubuntu* 20.04 LTS Python* 3.8.10

Descrição

Não foi possível determinar como converter os modelos Detectron2* e Layout-LM* para OpenVINO™ representação intermediária (IR) e inferir com plugin da CPU.

Resolução

Para converter o modelo Detectron2 , siga o tutorial do Colab para treinar e inferir o modelo Detectron2* com PyTorch* e também siga as etapas descritas abaixo para converter o modelo para o formato ONNX* e depois para o formato IR.

  1. Exporte o modelo Detectron2* PyTorch* para o formato ONNX* referindo-se aos tutoriais oficiais detectron2 e colab2 usando o export_model.py com o recurso de rastreamento.

    $ python export_model.py --config-file ./output.yaml --sample-image ./new.jpg --output ./model/ --rastreamento do método de exportação --formato onnx MODEL. PESOS ./output/model_final.pth MODEL. CPU DEVICE

  2. Para output.yaml, crie o arquivo de configuração adicionando as seguintes linhas no tutorial do Colab:

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

  3. Instalar OpenVINO via pip*:

    $ pip instalar openvino-dev

  4. Converter Modelo ONNX* para Representação Intermediária (IR):

    $ mo -input_model ./model/model.onnx

  5. Execute benchmark_app para inferência com OpenVINO:

    Com o modelo ONNX*:
    Taxa de transferência benchmark_app -m model.onnx -d CPU -niter 100 -api async -hint
    Latência de assíncrona de $ benchmark_app -m model.onnx -d CPU -niter 100 -api async

    Com modelo de IR:
    Taxa benchmark_app -m model.xml -d CPU -niter 100 -api async -hint throughput
    Latência de assíncrona de $ benchmark_app -m model.xml -d CPU -niter 100 -api async

Para converter o modelo layout-LM. Siga as etapas descritas abaixo para converter o modelo layout-LM e a inferência com OpenVINO™.

  1. Modelo de C onvert PyTorch* para o formato do modelo ONNX*:

    Transformadores de instalação de $pip[onnx]
    $ python3 -m transformers.onnx --model=microsoft/layoutlm-base-uncased onnx

  2. Instalar OpenVINO via pip*:

    $ pip instalar openvino-dev

  3. Converter Modelo ONNX* para Representação Intermediária (IR):

    $ mo -input_model ./onnx/model.onnx

  4. Execute benchmark_app para inferência com OpenVINO:

    Com o 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]
    Latência de assíncrona de $ benchmark_app -m onnx/model.onnx -d CPU -niter 100 -api async -hint latência -data_shape input_ids[1,1],bbox[1,1,4],attention_mask[1,1],token_type_ids[1,1]

    Com modelo de IR:
    Taxa de transferência 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]
    Latência de assíncrona de $ 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]

    Nota

    As formas de entrada (definidas por -data_shape em comandos acima) podem diferir com base no caso de uso.

Produtos relacionados

Este artigo aplica-se a 3 produtos.
Software do processador Intel® Xeon Phi™ OpenVINO™ toolkit Bibliotecas de desempenho

Avisos legais

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.