AI Edge Torch เป็นไลบรารีที่ช่วยให้คุณแปลงโมเดล PyTorch เป็นรูปแบบ .tflite
เพื่อให้คุณเรียกใช้โมเดลเหล่านั้นด้วย LiteRT และ MediaPipe ได้
ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับนักพัฒนาแอปที่พัฒนาแอปบนอุปกรณ์เคลื่อนที่ซึ่งเรียกใช้โมเดลในอุปกรณ์โดยสมบูรณ์ AI Edge Torch ครอบคลุม CPU หลายรุ่น พร้อมรองรับ GPU และ NPU เบื้องต้น
หากต้องการเริ่มต้นแปลงโมเดล PyTorch เป็น LiteRT ให้ใช้Pytorch converter quickstart ดูข้อมูลเพิ่มเติมได้ที่ GitHub repo ของ AI Edge Torch
หากคุณแปลงโมเดลภาษาขนาดใหญ่ (LLM) หรือโมเดลที่อิงตาม Transformer โดยเฉพาะ ให้ใช้ Generative Torch API ซึ่งจัดการรายละเอียดการแปลงเฉพาะ Transformer เช่น การสร้างโมเดลและการแปลงค่า
เวิร์กโฟลว์ Conversion
ขั้นตอนต่อไปนี้แสดงการแปลงแบบครบวงจรที่ง่ายดายของโมเดล PyTorch เป็น LiteRT
นําเข้า AI Edge Torch
เริ่มต้นด้วยการนําเข้าแพ็กเกจ 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 แล้ว คุณจะเรียกใช้การอนุมานด้วยโมเดล LiteRT ที่แปลงใหม่ได้
output = edge_model(*sample_inputs)
คุณสามารถส่งออกและบันทึกโมเดลที่แปลงแล้วในรูปแบบ .tflite
เพื่อใช้ในอนาคตได้
edge_model.export('resnet.tflite')