Để bắt đầu với TensorFlow Lite trên iOS, chúng tôi khuyên bạn nên khám phá ví dụ sau:
Để được giải thích về mã nguồn, bạn cũng nên đọc phân loại hình ảnh trên iOS của TensorFlow Lite .
Ứng dụng ví dụ này sử dụng phân loại hình ảnh để liên tục phân loại bất cứ thứ gì nó nhìn thấy từ camera phía sau của thiết bị, hiển thị các phân loại có khả năng xảy ra cao nhất. Nó cho phép người dùng chọn giữa mô hình dấu phẩy động hoặc mô hình lượng tử hóa và chọn số lượng luồng để thực hiện suy luận.
Thêm TensorFlow Lite vào dự án Swift hoặc Objective-C của bạn
TensorFlow Lite cung cấp các thư viện iOS gốc được viết bằng Swift và Objective-C . Bắt đầu viết mã iOS của riêng bạn bằng cách sử dụng ví dụ phân loại hình ảnh Swift làm điểm bắt đầu.
Các phần bên dưới trình bày cách thêm TensorFlow Lite Swift hoặc Objective-C vào dự án của bạn:
Nhà phát triển CocoaPods
Trong Podfile
của bạn, hãy thêm nhóm TensorFlow Lite. Sau đó, chạy pod install
.
Nhanh
use_frameworks!
pod 'TensorFlowLiteSwift'
Mục tiêu-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 dành cho cả nhóm TensorFlowLiteSwift
và TensorFlowLiteObjC
. Nếu bạn không chỉ định giới hạn phiên bản như trong các ví dụ trên, CocoaPods sẽ lấy bản phát hành ổn định mới nhất theo mặc định.
Bạn cũng có thể chỉ định một ràng buộc phiên bản. Ví dụ: nếu bạn 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 là:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Điều này sẽ đảm bảo phiên bản 2.xy mới nhất hiện có của nhóm TensorFlowLiteSwift
được sử dụng trong ứng dụng của bạn. Ngoài ra, nếu bạn 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, các đại biểu GPU và Core ML được loại trừ khỏi nhóm để giảm kích thước nhị phân. Bạn có thể bao gồm chúng bằng cách chỉ định subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Điều này sẽ cho phép bạn sử dụng các tính năng mới nhất được thêm vào TensorFlow Lite. 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ẽ bị khóa ở phiên bản của ngày hiện tại. Nếu bạn 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 ràng buộc phiên bản khác nhau, hãy xem Chỉ định phiên bản nhóm .
Nhà phát triển Bazel
Trong tệp BUILD
của bạn, hãy thêm phần phụ thuộc TensorFlowLite
vào mục tiêu của bạn.
Nhanh
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Mục tiêu-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 TensorFlow Lite:
import TensorFlowLite
Đối với các tệp Mục tiêu-C, hãy nhập tiêu đề ô:
#import "TFLTensorFlowLite.h"
Hoặc, mô-đun nếu bạn đặt CLANG_ENABLE_MODULES = YES
trong dự án Xcode của mình:
@import TFLTensorFlowLite;