ข้ามไปที่เนื้อหาหลัก
ฐานความรู้เกี่ยวกับการสนับสนุน

ขั้นตอนการแปลงและการอนุมาน Detectron2* และรุ่น Layout-LM* พร้อมชุดเครื่องมือ OpenVINO™

ประเภทข้อมูล: การแก้ไขปัญหา   |   ID บทความ: 000095500   |   การตรวจสอบครั้งล่าสุด: 23/06/2023

สิ่งแวดล้อม

ชุดเครื่องมือ OpenVINO™ 2022.3 LTS Ubuntu* 20.04 LTS Python* 3.8.10

คำอธิบาย

ไม่สามารถระบุวิธีแปลง Detectron2* และรุ่น Layout-LM* เป็น OpenVINO™ Intermediate Representation (IR) และอนุมานด้วยปลั๊กอิน CPU

ความละเอียด

หากต้องการแปลงโมเดล Detectron2 ให้ทําตามบทช่วยสอน Colab เพื่อฝึกฝนและการอนุมานโมเดล Detectron2* ด้วย PyTorch* และทําตามขั้นตอนที่ระบุไว้ด้านล่างเพื่อแปลงโมเดลเป็นรูปแบบ ONNX* แล้วจึงแปลงเป็นรูปแบบ IR

  1. ส่งออก โมเดล Detectron2* PyTorch* เป็นรูปแบบ ONNX* โดยอ้างอิงบทช่วยสอนเกี่ยวกับ Detectron2 อย่างเป็นทางการที่ colab2 โดยใช้ export_model.py พร้อมคุณสมบัติการสืบค้นกลับ

    $ python export_model.py --config-file ./output.yaml --sample-image ./new.jpg --output ./model/ --export-export-method tracing --format onnx MODEL รุ่น WEIGHTS./output/model_final.pth CPU ของอุปกรณ์

  2. สําหรับ output.yaml ให้ สร้าง ไฟล์กําหนดค่าโดยเพิ่มบรรทัดต่อไปนี้ใน บทช่วยสอน Colab:

    print (cfg.dump())
    ด้วย open("output.yaml", "w") เป็น f:
    f.write (cfg.dump())

  3. ติด ตั้ง OpenVINO ผ่าน pip*:

    $ pip ติดตั้ง openvino-dev

  4. แปลง รุ่น ONNX* เป็น Intermediate Representation (IR):

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

  5. เรียกใช้ benchmark_app เพื่ออนุมานด้วย OpenVINO:

    ด้วยรุ่น ONNX*:
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async -hint ปริมาณงาน
    $ benchmark_app -m model.onnx -d CPU -niter 100 -api async -hint ความหน่วงแฝง

    กับรุ่น IR:
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint ทรูพุต
    $ benchmark_app -m model.xml -d CPU -niter 100 -api async -hint ความหน่วงแฝง

ในการแปลงรุ่น Layout-LM ทําตามขั้นตอน ที่อธิบายไว้ด้านล่างเพื่อแปลงโมเดล Layout-LM และการอนุมานด้วย OpenVINO™

  1. Convert PyTorch* รุ่นเป็นรูปแบบรุ่น ONNX*:

    $pip ติดตั้ง Transformers[onnx]
    $ python3 -m transformers.onnx --model=microsoft/layoutlm-base-uncased onnx

  2. ติด ตั้ง OpenVINO ผ่าน pip*:

    $ pip ติดตั้ง openvino-dev

  3. แปลง รุ่น ONNX* เป็น Intermediate Representation (IR):

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

  4. เรียกใช้ benchmark_app เพื่ออนุมานด้วย OpenVINO:

    ด้วยรุ่น ONNX*:
    $ benchmark_app -m onnx/model.onnx -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 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]

    กับรุ่น 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]

    หมาย เหตุ

    รูปร่างอินพุต (กําหนดโดย -data_shape ในคําสั่งด้านบน) อาจแตกต่างกันไปตามรูปแบบการใช้งาน

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับผลิตภัณฑ์ 1 รายการ

ข้อสงวนสิทธิ์

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่?

ติดต่อฝ่ายสนับสนุน
ติดต่อฝ่ายสนับสนุน