Konwertuj modele PyTorch na TF Lite

AI Edge Torch to biblioteka, która umożliwia konwertowanie modeli PyTorch na format .tflite, co umożliwia uruchamianie tych modeli za pomocą TensorFlow Lite i MediaPipe. Jest to szczególnie przydatne dla programistów tworzących aplikacje mobilne, które działają w pełni na urządzeniu. AI Edge Torch oferuje szeroki zakres CPU, z początkową obsługą GPU i jednostek NPU.

Aby rozpocząć konwertowanie modeli PyTorch na TF Lite, skorzystaj z krótkiego wprowadzenia do konwertera Pytorch. Więcej informacji znajdziesz w repozytorium GitHub AI Edge Torch.

Jeśli konwertujesz duże modele językowe (LLM) lub modele oparte na transformerze, użyj interfejsu Generative Torch API, który obsługuje szczegóły konwersji związane z transformerami, takie jak tworzenie i kwantyfikacja modeli.

Przepływ pracy związany z konwersjami

Poniższe kroki przedstawiają prostą, kompleksową konwersję modelu PyTorch na TensorFlow Lite.

Importuj Edge Torch

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

import ai_edge_torch
import torch

W tym przykładzie potrzebujemy również następujących pakietów:

import numpy
import torchvision

Inicjowanie i przekształcanie modelu

Przekonwertujemy model ResNet18, popularny model rozpoznawania obrazów.

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

Do przekonwertowania modelu PyTorch użyj metody convert z biblioteki AI Edge Torch.

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

Użyj modelu

Po przekonwertowaniu modelu Pytorch możesz uruchamiać wnioskowania za pomocą nowego przekonwertowanego modelu TF Lite.

output = edge_model(*sample_inputs)

Możesz wyeksportować i zapisać przekonwertowany model w formacie .tflite do użycia w przyszłości.

edge_model.export('resnet.tflite')