تحويل نماذج PyTorch إلى LiteRT

‫AI Edge Torch هي مكتبة تتيح لك تحويل نماذج PyTorch إلى تنسيق .tflite ، ما يتيح لك تشغيل هذه النماذج باستخدام LiteRT وMediaPipe. ويُعدّ ذلك مفيدًا بشكل خاص للمطوّرين الذين ينشئون تطبيقات متوافق مع الأجهزة الجوّالة تعمل على تشغيل النماذج تمامًا على الجهاز. يوفّر AI Edge Torch تغطية واسعة النطاق لوحدة المعالجة المركزية (CPU)، مع دعم GPU ووحدة المعالجة العصبية (NPU) الأوّلي.

لبدء تحويل نماذج PyTorch إلى LiteRT، استخدِم أداة تحويل Pytorch البدء السريع. لمزيد من المعلومات، يُرجى الاطّلاع على مستودع GitHub الخاص بتطبيق AI Edge Torch.

إذا كنت تحوّل نماذج لغوية كبيرة (LLM) أو نماذج مستندة إلى تقنية "المحوِّل" على وجه التحديد، استخدِم Generative Torch API، التي تعالج تفاصيل التحويل الخاصة بتقنية "المحوِّل"، مثل إنشاء النماذج ومقدار الترميز.

سير عمل الإحالات الناجحة

توضّح الخطوات التالية عملية تحويل بسيطة من البداية إلى النهاية لنموذج PyTorch إلى LiteRT.

استيراد ميزة "مصباح الذكاء الاصطناعي"

ابدأ باستيراد حزمة 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 لتحويل convert 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')