LiteRT cho phép bạn chạy các mô hình TensorFlow, PyTorch và JAX trong ứng dụng iOS. Hệ thống LiteRT cung cấp môi trường thực thi được tạo sẵn và có thể tuỳ chỉnh để chạy các mô hình trên iOS một cách nhanh chóng và hiệu quả, đồng thời linh hoạt hơn trong việc quản lý phiên bản và các đại diện không bắt buộc như coreML và Metal để tăng hiệu suất.
Ví dụ: các ứng dụng iOS sử dụng LiteRT, hãy xem kho lưu trữ mẫu LiteRT.
Thêm LiteRT vào dự án Swift hoặc Objective-C
LiteRT cung cấp các thư viện iOS gốc được viết bằng Swift và Objective-C.
Các phần dưới đây minh hoạ cách thêm LiteRT Swift hoặc Objective-C vào dự án:
Nhà phát triển CocoaPods
Trong Podfile
, hãy thêm LiteRT pod. Sau đó, hãy chạy pod install
.
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
Chỉ định phiên bản
Có các bản phát hành ổn định và bản phát hành hằng đêm cho cả pod TensorFlowLiteSwift
và TensorFlowLiteObjC
. Nếu bạn không chỉ định điều kiện ràng buộc phiên bản như trong các ví dụ trên, theo mặc định, CocoaPods sẽ lấy bản phát hành ổn định mới nhất.
Bạn cũng có thể chỉ định một quy tắc ràng buộc phiên bản. Ví dụ: nếu muốn phụ thuộc vào phiên bản 2.10.0, bạn có thể viết phần phụ thuộc như sau:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Thao tác này sẽ đảm bảo phiên bản 2.x.y mới nhất của nhóm TensorFlowLiteSwift
được sử dụng trong ứng dụng. Ngoài ra, nếu muốn phụ thuộc vào các bản dựng hằng đêm, bạn có thể viết:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
Từ phiên bản 2.4.0 và các bản phát hành hằng đêm mới nhất, theo mặc định, GPU và đại diện Core ML sẽ bị loại trừ khỏi nhóm để giảm kích thước tệp nhị phân. Bạn có thể đưa các phần phụ này vào bằng cách chỉ định subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Điều này cho phép bạn sử dụng các tính năng mới nhất được thêm vào LiteRT. Lưu ý rằng sau khi tệp Podfile.lock
được tạo khi bạn chạy lệnh pod install
lần đầu tiên, phiên bản thư viện hằng đêm sẽ được khoá ở phiên bản ngày hiện tại. Nếu muốn cập nhật thư viện hằng đêm lên thư viện mới hơn, bạn nên chạy lệnh pod update
.
Để biết thêm thông tin về các cách chỉ định các quy tắc ràng buộc phiên bản, hãy xem phần Chỉ định phiên bản pod.
Nhà phát triển Bazel
Trong tệp BUILD
, hãy thêm phần phụ thuộc TensorFlowLite
vào mục tiêu của bạn.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
Ngoài ra, bạn có thể sử dụng API C hoặ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",
],
)
Nhập thư viện
Đối với các tệp Swift, hãy nhập mô-đun LiteRT:
import TensorFlowLite
Đối với các tệp Objective-C, hãy nhập tiêu đề tổng hợp:
#import "TFLTensorFlowLite.h"
Hoặc mô-đun nếu bạn đặt CLANG_ENABLE_MODULES = YES
trong dự án Xcode:
@import TFLTensorFlowLite;