Để 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:
Ví dụ về phân loại hình ảnh iOS
Để biết giải thích về mã nguồn, bạn cũng nên đọc phân loại hình ảnh TensorFlow Lite iOS .
Ứ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 hàng đầu có thể xảy ra nhất. Nó cho phép người dùng lựa 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ố 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 dưới đây 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, thêm nhóm TensorFlow Lite. Sau đó, chạy pod install
.
Nhanh
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à các bản phát hành hàng đêm có sẵn cho cả hai nhóm TensorFlowLiteSwift
và TensorFlowLiteObjC
. Nếu bạn không chỉ định ràng buộc 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 giới hạn phiên bản. Ví dụ: nếu bạn muốn phụ thuộc vào phiên bản 2.0.0, bạn có thể viết phụ thuộc là:
pod 'TensorFlowLiteSwift', '~> 2.0.0'
Điều này sẽ đảm bảo phiên bản 2.xy mới nhất có sẵn của pod 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, đại biểu GPU và Core ML bị 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",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C / C ++
Ngoài ra, bạn có thể sử dụng C API hoặc C ++ API
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//third_party/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 tệp Objective-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;
,Để 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:
Ví dụ về phân loại hình ảnh iOS
Để biết giải thích về mã nguồn, bạn cũng nên đọc phân loại hình ảnh TensorFlow Lite iOS .
Ứ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 hàng đầu có thể xảy ra nhất. Nó cho phép người dùng lựa 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ố 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 dưới đây 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, thêm nhóm TensorFlow Lite. Sau đó, chạy pod install
.
Nhanh
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à các bản phát hành hàng đêm có sẵn cho cả hai nhóm TensorFlowLiteSwift
và TensorFlowLiteObjC
. Nếu bạn không chỉ định ràng buộc 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 giới hạn phiên bản. Ví dụ: nếu bạn muốn phụ thuộc vào phiên bản 2.0.0, bạn có thể viết phụ thuộc là:
pod 'TensorFlowLiteSwift', '~> 2.0.0'
Điều này sẽ đảm bảo phiên bản 2.xy mới nhất có sẵn của pod 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, đại biểu GPU và Core ML bị 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",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C / C ++
Ngoài ra, bạn có thể sử dụng C API hoặc C ++ API
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//third_party/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 tệp Objective-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;