AI Edge Torch là một thư viện cho phép bạn chuyển đổi các mô hình PyTorch thành một .tflite
, cho phép bạn chạy các mô hình đó bằng LiteRT và MediaPipe.
Điều này đặc biệt hữu ích đối với những nhà phát triển đang tạo các ứng dụng di động chạy các mô hình
hoàn toàn trên thiết bị. AI Edge Torch cung cấp phạm vi sử dụng CPU rộng lớn, kèm theo GPU ban đầu
và NPU.
Để bắt đầu chuyển đổi mô hình PyTorch sang LiteRT, hãy sử dụng công cụ chuyển đổi Pytorch bắt đầu nhanh. Để biết thêm thông tin, hãy xem ứng dụng AI Edge Torch Kho lưu trữ GitHub.
Nếu bạn đang chuyển đổi cụ thể các Mô hình ngôn ngữ lớn (LLM) hoặc mô hình dựa trên biến áp, hãy sử dụng Generative Torch API, giúp xử lý các chi tiết chuyển đổi cụ thể của biến áp như xây dựng mô hình và lượng tử hoá.
Quy trình chuyển đổi
Các bước sau đây minh hoạ cách chuyển đổi PyTorch đơn giản từ đầu đến cuối sang LiteRT.
Nhập đèn pin cạnh AI
Bắt đầu bằng cách nhập gói pip AI Edge (ai-edge-torch
), cùng với
PyTorch.
import ai_edge_torch
import torch
Đối với ví dụ này, chúng tôi cũng yêu cầu các gói sau:
import numpy
import torchvision
Khởi chạy và chuyển đổi mô hình
Chúng tôi sẽ chuyển đổi ResNet18, một mô hình nhận dạng hình ảnh phổ biến.
resnet18 = torchvision.models.resnet18(torchvision.models.ResNet18_Weights.IMAGENET1K_V1).eval()
Sử dụng phương thức convert
trong thư viện AI Edge Torch để chuyển đổi PyTorch
mô hình.
sample_input = (torch.randn(1, 3, 224, 224),)
edge_model = ai_edge_torch.convert(resnet18.eval(), sample_input)
Sử dụng mô hình
Sau khi chuyển đổi mô hình Pytorch, bạn có thể chạy suy luận bằng mô hình LiteRT được chuyển đổi.
output = edge_model(*sample_inputs)
Bạn có thể xuất và lưu mô hình đã chuyển đổi ở định dạng .tflite
để dùng trong tương lai
sử dụng.
edge_model.export('resnet.tflite')