แปลงโมเดล PyTorch เป็น TF Lite

AI Edge Torch เป็นไลบรารีที่ช่วยให้คุณแปลงโมเดล PyTorch เป็นรูปแบบ .tflite ซึ่งทำให้เรียกใช้โมเดลเหล่านั้นด้วย TensorFlow Lite และ MediaPipe ได้ ความสามารถนี้มีประโยชน์มากสำหรับนักพัฒนาซอฟต์แวร์ที่สร้างแอปบนอุปกรณ์เคลื่อนที่ซึ่งเรียกใช้โมเดลในอุปกรณ์โดยสมบูรณ์ AI Edge Torch ครอบคลุม CPU อย่างกว้างขวาง โดยการรองรับ GPU และ NPU เริ่มต้น

หากต้องการเริ่มต้นแปลงโมเดล PyTorch เป็น TF Lite ให้ใช้การเริ่มต้นอย่างรวดเร็วด้วยตัวแปลง Pytorch ดูข้อมูลเพิ่มเติมได้ในที่เก็บ GitHub สำหรับ AI Edge Torch

หากคุณกำลังแปลงโมเดลภาษาขนาดใหญ่ (LLM) หรือโมเดลที่อิงตาม Transformer โดยเฉพาะ ให้ใช้ Generative Torch API ซึ่งจัดการรายละเอียด Conversion ที่เกี่ยวข้องกับ Transformer โดยเฉพาะ เช่น การสร้างโมเดลและการวัดปริมาณ

เวิร์กโฟลว์ Conversion

ขั้นตอนต่อไปนี้สาธิตการแปลงจากต้นทางถึงปลายทางแบบง่ายของโมเดล PyTorch เป็น TensorFlow Lite

นำเข้าไฟฉาย AI Edge

เริ่มด้วยการนำเข้าแพ็กเกจ PIP ของ AI Edge Torch (ai-edge-torch) พร้อมกับ PyTorch

import ai_edge_torch
import torch

ในตัวอย่างนี้ เรายังต้องใช้แพ็กเกจต่อไปนี้ด้วย

import numpy
import torchvision

เริ่มต้นและแปลงโมเดล

เราจะแปลง ResNet18 ซึ่งเป็นโมเดลการจดจำรูปภาพยอดนิยม

resnet18 = torchvision.models.resnet18(torchvision.models.ResNet18_Weights.IMAGENET1K_V1).eval()

ใช้เมธอด convert จากไลบรารี AI Edge Torch เพื่อแปลงโมเดล PyTorch

sample_input = (torch.randn(1, 3, 224, 224),)
edge_model = ai_edge_torch.convert(resnet18.eval(), sample_input)

ใช้โมเดล

หลังจากแปลงโมเดล Pytorch แล้ว คุณจะเรียกใช้การอนุมานได้ด้วยโมเดล TF Lite ใหม่ที่แปลงแล้ว

output = edge_model(*sample_inputs)

คุณสามารถส่งออกและบันทึกรูปแบบที่แปลงแล้วในรูปแบบ .tflite เพื่อใช้ในอนาคตได้

edge_model.export('resnet.tflite')