Chuyển đổi mô hình PyTorch sang LiteRT

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