LiteRT की मदद से, अपने iOS ऐप्लिकेशन में TensorFlow, PyTorch, और JAX मॉडल चलाए जा सकते हैं. LiteRT सिस्टम, iOS पर मॉडल को तेज़ी से और बेहतर तरीके से चलाने के लिए, पहले से बनाए गए और पसंद के मुताबिक बनाए जा सकने वाले, प्रोग्राम को चलाने के लिए तैयार किए गए एनवायरमेंट उपलब्ध कराता है. साथ ही, इसमें वर्शन मैनेजमेंट के लिए ज़्यादा सुविधाएं मिलती हैं. साथ ही, बेहतर परफ़ॉर्मेंस के लिए, coreML और Metal जैसे वैकल्पिक डेलिगेट भी मिलते हैं.
उदाहरण के लिए, LiteRT का इस्तेमाल करने वाले iOS ऐप्लिकेशन के लिए, LiteRT के सैंपल वाले डेटा स्टोर को देखें.
अपने Swift या Objective-C प्रोजेक्ट में LiteRT जोड़ना
LiteRT, Swift और Objective-C में लिखी गई नेटिव iOS लाइब्रेरी उपलब्ध कराता है.
यहां दिए गए सेक्शन में, अपने प्रोजेक्ट में 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
के 2.x.y वर्शन का इस्तेमाल किया जा रहा है. इसके अलावा, अगर आपको हर रात जनरेट होने वाले बाइल्ड का इस्तेमाल करना है, तो यह लिखें:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
2.4.0 वर्शन और हर रात रिलीज़ होने वाले नए वर्शन में, डिफ़ॉल्ट रूप से GPU और Core ML के प्रतिनिधि को पॉड से बाहर रखा जाता है, ताकि बाइनरी का साइज़ कम किया जा सके. सब-स्पेसिफ़िकेशन बताकर, उन्हें शामिल किया जा सकता है:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
इससे, आपको LiteRT में जोड़ी गई नई सुविधाओं का इस्तेमाल करने में मदद मिलेगी. ध्यान दें कि पहली बार pod install
कमांड चलाने पर Podfile.lock
फ़ाइल बनने के बाद, हर रात अपडेट होने वाली लाइब्रेरी का वर्शन, मौजूदा तारीख के वर्शन पर लॉक हो जाएगा. अगर आपको हर रात अपडेट होने वाली लाइब्रेरी को नए वर्शन पर अपडेट करना है, तो आपको pod update
कमांड चलाना चाहिए.
वर्शन की पाबंदियों के बारे में अलग-अलग तरीकों से बताने के बारे में ज़्यादा जानने के लिए, पॉड के वर्शन बताना लेख पढ़ें.
Bazel डेवलपर
अपनी BUILD
फ़ाइल में, अपने टारगेट में TensorFlowLite
डिपेंडेंसी जोड़ें.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
C/C++ API
इसके अलावा, 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"
इसके अलावा, अगर आपने अपने Xcode प्रोजेक्ट में CLANG_ENABLE_MODULES = YES
सेट किया है, तो मॉड्यूल:
@import TFLTensorFlowLite;