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')