המדריך למתחילים ל-iOS

LiteRT מאפשר להריץ מודלים של TensorFlow,‏ PyTorch ו-JAX באפליקציות ל-iOS. מערכת LiteRT מספקת סביבות ביצוע מוכנות להתאמה אישית להפעלת מודלים ב-iOS במהירות וביעילות, עם גמישות נוספת לניהול גרסאות ואפשרות להקצות משימות לגורמים אחרים (delegates) כמו coreML ו-Metal לשיפור הביצועים.

לדוגמה, אפליקציות ל-iOS שמשתמשות ב-LiteRT מפורטות במאגר LiteRT samples.

הוספת LiteRT לפרויקט Swift או Objective-C

ב-LiteRT יש ספריות מקוריות ל-iOS שנכתבו ב-Swift וב-Objective-C.

בקטעים הבאים מוסבר איך מוסיפים לפרויקט את LiteRT Swift או Objective-C:

מפתחי CocoaPods

מוסיפים את ה-pod של LiteRT ב-Podfile. לאחר מכן, מריצים את pod install.

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

ציון גרסאות

יש גרסאות יציבות וגרסאות לילה זמינות גם ל-TensorFlowLiteSwift וגם ל-TensorFlowLiteObjC. אם לא מציינים אילוץ גרסה כמו בדוגמאות שלמעלה, CocoaPods יוריד כברירת מחדל את הגרסה היציבה האחרונה.

אפשר גם לציין אילוץ גרסה. לדוגמה, אם רוצים להסתמך על גרסה 2.10.0, אפשר לכתוב את התלות כך:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

כך תוכלו להבטיח שבאפליקציה שלכם תהיה הגרסה העדכנית ביותר של ה-pod TensorFlowLiteSwift, בגרסה 2.x.y. לחלופין, אם אתם רוצים להסתמך על גרסאות ה-build היומיות, תוכלו לכתוב:

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'

החל מגרסה 2.4.0 ומהגרסאות היומיות האחרונות, כברירת מחדל, GPU ו-Core ML delegates לא נכללים ב-pod כדי לצמצם את הגודל הבינארי. כדי לכלול אותם, צריך לציין את גרסת המשנה:

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']

כך תוכלו להשתמש בתכונות העדכניות ביותר שנוספו ל-LiteRT. חשוב לזכור: אחרי שייווצר הקובץ Podfile.lock כשמריצים את הפקודה pod install בפעם הראשונה, הגרסה של הספרייה שתתקבל בכל לילה תינעל בגרסה של התאריך הנוכחי. כדי לעדכן את ספריית nightly לגרסה החדשה יותר, צריך להריץ את הפקודה pod update.

מידע נוסף על דרכים שונות לציון אילוצים לגרסאות זמין במאמר ציון גרסאות של מודולים.

מפתחי Bazel

בקובץ BUILD, מוסיפים את התלות TensorFlowLite ליעד.

Swift

swift_library(
  deps = [
      "//tensorflow/lite/swift:TensorFlowLite",
  ],
)

Objective-C

objc_library(
  deps = [
      "//tensorflow/lite/objc:TensorFlowLite",
  ],
)

ממשק API ל-C/C++‎

לחלופין, אפשר להשתמש ב-API ל-C או ב-API ל-C++‎.

# 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;