Converti i modelli PyTorch in LiteRT

AI Edge Torch è una libreria che ti consente di convertire i modelli PyTorch in un .tflite che consente di eseguire i modelli con LiteRT e MediaPipe. Ciò è particolarmente utile per gli sviluppatori che creano app mobile che eseguono modelli. completamente sul dispositivo. AI Edge Torch offre un'ampia copertura della CPU, con GPU iniziale e NPU.

Per iniziare a convertire i modelli PyTorch in LiteRT, utilizza il convertitore PyTorch Guida rapida. Per ulteriori informazioni, vedi AI Edge Torch Repository GitHub.

Se vuoi convertire in modo specifico modelli linguistici di grandi dimensioni (LLM) o basati su trasformatore, usa l'API Generative Torch, che gestisce i dettagli delle conversioni specifici del trasformatore, come la creazione e e come quantizzazione.

Flusso di lavoro delle conversioni

I seguenti passaggi dimostrano una semplice conversione end-to-end di un'architettura PyTorch in LiteRT.

Importa AI Edge Torch

Inizia importando il pacchetto pip AI Edge Torch (ai-edge-torch), insieme come PyTorch.

import ai_edge_torch
import torch

Per questo esempio sono richiesti anche i pacchetti seguenti:

import numpy
import torchvision

inizializza e converti il modello

Convertiremo ResNet18 un popolare modello di riconoscimento delle immagini.

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

Utilizza il metodo convert della libreria AI Edge Torch per convertire la classe PyTorch un modello di machine learning.

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

usa il modello

Dopo aver convertito il modello Pytorch, puoi eseguire le inferenze con il nuovo modello LiteRT convertito.

output = edge_model(*sample_inputs)

Puoi esportare e salvare il modello convertito nel formato .tflite per utilizzarlo in futuro per gli utilizzi odierni.

edge_model.export('resnet.tflite')