Mengonversi model PyTorch ke LiteRT

AI Edge Torch adalah library yang memungkinkan Anda mengonversi model PyTorch menjadi format .tflite, sehingga Anda dapat menjalankan model tersebut dengan LiteRT dan MediaPipe. Hal ini sangat membantu developer yang membuat aplikasi seluler yang menjalankan model sepenuhnya di perangkat. AI Edge Torch menawarkan cakupan CPU yang luas, dengan dukungan GPU dan NPU awal.

Untuk mulai mengonversi model PyTorch ke LiteRT, gunakan panduan memulai pengonversi Pytorch. Untuk mengetahui informasi selengkapnya, lihat repo GitHub AI Edge Torch.

Jika Anda secara khusus mengonversi Model Bahasa Besar (LLM) atau model berbasis transformer, gunakan Generative Torch API, yang menangani detail konversi khusus transformer seperti pembuatan dan kuantisasi model.

Alur kerja konversi

Langkah-langkah berikut menunjukkan konversi menyeluruh yang sederhana dari model PyTorch ke LiteRT.

Mengimpor AI Edge Torch

Mulai dengan mengimpor paket pip AI Edge Torch (ai-edge-torch), beserta PyTorch.

import ai_edge_torch
import torch

Untuk contoh ini, kita juga memerlukan paket berikut:

import numpy
import torchvision

Melakukan inisialisasi dan mengonversi model

Kita akan mengonversi ResNet18, model pengenalan gambar yang populer.

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

Gunakan metode convert dari library AI Edge Torch untuk mengonversi model PyTorch.

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

Menggunakan model

Setelah mengonversi model Pytorch, Anda dapat menjalankan inferensi dengan model LiteRT yang baru dikonversi.

output = edge_model(*sample_inputs)

Anda dapat mengekspor dan menyimpan model yang dikonversi dalam format .tflite untuk penggunaan di masa mendatang.

edge_model.export('resnet.tflite')