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