يتيح لك LiteRT تشغيل نماذج TensorFlow وPyTorch وJAX في تطبيقات iOS. يوفّر نظام LiteRT بيئات تنفيذ مُعدّة مسبقًا وقابلة للتخصيص لتشغيل النماذج على iOS بسرعة وكفاءة، مع مرونة إضافية لإدارة الإصدارات والعناصر المفوَّضة الاختيارية، مثل coreML وMetal لتحسين الأداء.
على سبيل المثال، تطبيقات iOS التي تستخدِم LiteRT، يُرجى الاطّلاع على مستودع عيّنات LiteRT.
إضافة LiteRT إلى مشروع Swift أو Objective-C
يوفّر LiteRT مكتبات iOS الأصلية المكتوبة بلغتَي Swift و Objective-C.
توضِّح الأقسام أدناه كيفية إضافة LiteRT Swift أو Objective-C إلى مشروعك:
مطوّرو CocoaPods
في Podfile
، أضِف مجموعة LiteRT. بعد ذلك، يمكنك تشغيل pod install
.
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
تحديد الإصدارات
تتوفّر إصدارات ثابتة وإصدارات ليلية لكل من وحدات معالجة TensorFlowLiteSwift
وTensorFlowLiteObjC
. في حال عدم تحديد قيد
على الإصدار كما هو الحال في الأمثلة أعلاه، سيجلب CocoaPods أحدث إصدار
ثابت تلقائيًا.
يمكنك أيضًا تحديد قيد إصدار. على سبيل المثال، إذا أردت الاعتماد على الإصدار 2.10.0، يمكنك كتابة الاعتماد على النحو التالي:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
سيضمن ذلك استخدام أحدث إصدار متاح من TensorFlowLiteSwift
pod 2.x.y في تطبيقك. بدلاً من ذلك، إذا كنت تريد الاعتماد على الإصدارات النهارية
للمكتبة، يمكنك كتابة ما يلي:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
اعتبارًا من الإصدار 2.4.0 والإصدارات التجريبية اللاحقة، يتم تلقائيًا استبعاد وحدة معالجة الرسومات ومفوّضِي "تعلُّم الآلة" الأساسيين من الحِزمة لتقليل حجم الملف الثنائي. يمكنك تضمينها من خلال تحديد المواصفات الفرعية:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
سيتيح لك ذلك استخدام أحدث الميزات التي تمت إضافتها إلى LiteRT. يُرجى ملاحظة
أنّه بعد إنشاء ملف Podfile.lock
عند تنفيذ الأمر pod install
للمرة الأولى، سيتم قفل إصدار المكتبة الليلي عند الإصدار الحالي
للتاريخ. إذا أردت تحديث المكتبة اليومية إلى المكتبة الأحدث، عليك
تنفيذ الأمر pod update
.
لمزيد من المعلومات عن الطرق المختلفة لتحديد قيود الإصدار، اطّلِع على مقالة تحديد إصدارات الوحدات.
مطوّرو Bazel
في ملف BUILD
، أضِف التبعية TensorFlowLite
إلى الهدف.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
واجهة برمجة التطبيقات C/C++
بدلاً من ذلك، يمكنك استخدام C API أو C++ API.
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//tensorflow/lite:framework",
],
)
استيراد المكتبة
بالنسبة إلى ملفات Swift، استورِد وحدة LiteRT:
import TensorFlowLite
بالنسبة إلى ملفات Objective-C، استورِد العنوان العام:
#import "TFLTensorFlowLite.h"
أو الوحدة إذا ضبطت CLANG_ENABLE_MODULES = YES
في مشروع Xcode:
@import TFLTensorFlowLite;