Konwertowanie modeli PyTorch na LiteRT

AI Edge Torch to biblioteka, która umożliwia konwertowanie modeli PyTorch na format .tflite dzięki czemu możesz uruchamiać te modele za pomocą LiteRT i MediaPipe. Jest to szczególnie przydatne dla deweloperów tworzących aplikacje mobilne obsługujące modele i całkowicie na urządzeniu. AI Edge Torch zapewnia szeroki zasięg CPU z początkowym procesorem graficznym i NPU.

Aby rozpocząć konwertowanie modeli PyTorch na LiteRT, użyj konwertera Pitorcha Więcej informacji znajdziesz w poradniku AI Edge Torch repozytorium GitHub.

Jeśli konwertujesz duże modele językowe (LLM) lub modele oparte na transformatorach muszą korzystać z interfejsu Generative Torch API, który obsługuje szczegóły konwersji związane z transformatorem, takie jak tworzenie modelu kwantyzacji.

Proces konwersji

Poniższe kroki przedstawiają prostą, kompleksową konwersję PyTorch na model LiteRT.

Importuj pochodną AI Edge

Zacznij od zaimportowania pakietu pip AI Edge Torch (ai-edge-torch) oraz PyTorch.

import ai_edge_torch
import torch

W tym przykładzie są też wymagane następujące pakiety:

import numpy
import torchvision

Inicjowanie i przekonwertowanie modelu

Przekonwertujemy ResNet18 popularnego modelu rozpoznawania obrazów.

resnet18 = torchvision.models.resnet18(torchvision.models.ResNet18_Weights.IMAGENET1K_V1).eval()

Użyj metody convert z biblioteki AI Edge Torch, aby przekonwertować komponent PyTorch model atrybucji.

sample_input = (torch.randn(1, 3, 224, 224),)
edge_model = ai_edge_torch.convert(resnet18.eval(), sample_input)

Używanie modelu

Po przekonwertowaniu modelu Pytorch możesz uruchamiać wnioskowania z użyciem nowego modelu przekonwertowany model LiteRT.

output = edge_model(*sample_inputs)

Przekonwertowany model możesz wyeksportować i zapisać w formacie .tflite na przyszłość i ich używanie.

edge_model.export('resnet.tflite')