PyTorch modellerini LiteRT'e dönüştürme

AI Edge Torch, PyTorch modellerini .tflite biçimine dönüştürmenize olanak tanıyan bir kitaplıktır. Bu sayede, modelleri LiteRT ve MediaPipe ile çalıştırabilirsiniz. Bu özellik, modelleri tamamen cihaz üzerinde çalıştıran mobil uygulamalar oluşturan geliştiriciler için özellikle faydalıdır. AI Edge Torch, ilk GPU ve NPU desteğiyle geniş bir CPU kapsamı sunar.

PyTorch modellerini LiteRT'ye dönüştürmeye başlamak için Pytorch dönüştürücü hızlı başlangıç kılavuzunu kullanın. Daha fazla bilgi için AI Edge Torch GitHub deposuna göz atın.

Özellikle büyük dil modellerini (LLM'ler) veya dönüştürücü tabanlı modelleri dönüştürüyorsanız model oluşturma ve kesme gibi dönüştürücüye özgü dönüşüm ayrıntılarını yöneten Generative Torch API'yi kullanın.

Dönüşüm iş akışı

Aşağıdaki adımlarda, bir PyTorch modelinin LiteRT'ye basit bir uçtan uca dönüşümü gösterilmektedir.

AI Edge Torch'u içe aktarma

PyTorch ile birlikte AI Edge Torch (ai-edge-torch) pip paketini içe aktararak başlayın.

import ai_edge_torch
import torch

Bu örnek için aşağıdaki paketlere de ihtiyacımız var:

import numpy
import torchvision

Modeli başlatma ve dönüştürme

Popüler bir görüntü tanıma modeli olan ResNet18'i dönüştüreceğiz.

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

PyTorch modelini dönüştürmek için AI Edge Torch kitaplığındaki convert yöntemini kullanın.

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

Modeli kullanma

Pytorch modelini dönüştürdükten sonra, dönüştürülmüş yeni LiteRT modeliyle çıkarım çalıştırabilirsiniz.

output = edge_model(*sample_inputs)

Dönüştürülen modeli ileride kullanmak üzere .tflite biçiminde dışa aktarıp kaydedebilirsiniz.

edge_model.export('resnet.tflite')