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

באפליקציה לדוגמה הזו נעשה שימוש בסיווג תמונות כדי לסווג באופן קבוע את כל מה שהיא רואה מהמצלמה האחורית של המכשיר, ומציג את הסיווגים בעלי הסבירות הגבוהה ביותר. הוא מאפשר למשתמשים לבחור בין נקודה צפה (floating-point) למודל מחושב, ולבחור את מספר השרשורים שעליהם תתבצע ההסקה.

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

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

הקטעים הבאים מדגימים איך להוסיף את TensorFlow Lite Swift או את Objective-C לפרויקט:

מפתחי CocoaPods

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

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

ציון גרסאות

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

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

pod 'TensorFlowLiteSwift', '~> 2.10.0'

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

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

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

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

כך תהיה לך אפשרות להשתמש בתכונות האחרונות שנוספו ל-TensorFlow Lite. שימו לב שברגע שהקובץ 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",
  ],
)

API של 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, מייבאים את המודול TensorFlow Lite:

import TensorFlowLite

עבור קובצי Objective-C, מייבאים את כותרת הגג:

#import "TFLTensorFlowLite.h"

לחלופין, המודול אם מגדירים CLANG_ENABLE_MODULES = YES בפרויקט Xcode:

@import TFLTensorFlowLite;