Convierte modelos de PyTorch en LiteRT

AI Edge Torch es una biblioteca que te permite convertir modelos de PyTorch en un .tflite lo que te permite ejecutar esos modelos con LiteRT y MediaPipe. Esto es especialmente útil para los desarrolladores que crean apps para dispositivos móviles que ejecutan modelos completamente integrado en el dispositivo. AI Edge Torch ofrece una amplia cobertura de CPU, con GPU y NPU.

Para comenzar a convertir modelos de PyTorch en LiteRT, usa el convertidor PyTorch guía de inicio rápido. Para obtener más información, consulta AI Edge Torch Repositorio de GitHub.

Si quieres convertir específicamente modelos de lenguaje extensos (LLM) o modelos basados en transformadores, usar la API de Generative Torch, que maneja detalles de conversión específicos de transformadores, como la creación del modelo y mediante la cuantización.

Flujo de trabajo de conversiones

En los siguientes pasos, se muestra una conversión de extremo a extremo simple de una PyTorch a LiteRT.

Importa la linterna de AI Edge

Comienza importando el paquete pip de AI Edge Torch (ai-edge-torch), junto con y PyTorch.

import ai_edge_torch
import torch

Para este ejemplo, también necesitamos los siguientes paquetes:

import numpy
import torchvision

Inicializa y convierte el modelo

Convertiremos ResNet18 un modelo popular de reconocimiento de imágenes.

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

Usa el método convert de la biblioteca de AI Edge Torch para convertir el PyTorch un modelo de responsabilidad compartida.

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

Usa el modelo

Luego de convertir el modelo Pytorch, puedes ejecutar inferencias con el nuevo modelo LiteRT convertido.

output = edge_model(*sample_inputs)

Puedes exportar y guardar el modelo convertido en formato .tflite para usarlo en el futuro usar.

edge_model.export('resnet.tflite')