Преобразование моделей PyTorch в LiteRT

AI Edge Torch — это библиотека, позволяющая конвертировать модели PyTorch в формат .tflite , что позволяет запускать эти модели с помощью LiteRT и MediaPipe. Это особенно полезно для разработчиков, создающих мобильные приложения, которые полностью запускают модели на устройстве. AI Edge Torch обеспечивает широкий охват ЦП с начальной поддержкой графических процессоров и NPU.

Чтобы приступить к преобразованию моделей PyTorch в LiteRT, воспользуйтесь кратким руководством по конвертеру Pytorch . Дополнительную информацию см. в репозитории AI Edge Torch на GitHub .

Если вы специально конвертируете модели большого языка (LLM) или модели на основе преобразователей, используйте Generative Torch API , который обрабатывает детали преобразования, специфичные для преобразователя, такие как создание модели и квантование.

Рабочий процесс преобразования

Следующие шаги демонстрируют простое сквозное преобразование модели PyTorch в LiteRT.

Импортировать AI Edge Torch

Начните с импорта пакета pip AI Edge Torch ( ai-edge-torch ) вместе с PyTorch.

import ai_edge_torch
import torch

Для этого примера нам также потребуются следующие пакеты:

import numpy
import torchvision

Инициализируйте и преобразуйте модель

Мы конвертируем ResNet18 , популярную модель распознавания изображений.

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

Используйте метод convert из библиотеки AI Edge Torch, чтобы преобразовать модель PyTorch.

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

Используйте модель

После преобразования модели Pytorch вы можете выполнить выводы с помощью новой преобразованной модели LiteRT.

output = edge_model(*sample_inputs)

Вы можете экспортировать и сохранить преобразованную модель в формате .tflite для дальнейшего использования.

edge_model.export('resnet.tflite')