Krótkie wprowadzenie dla iOS

LiteRT umożliwia uruchamianie modeli TensorFlow, PyTorch i JAX w aplikacjach na iOS. System LiteRT udostępnia wstępnie utworzone i spersonalizowane środowiska wykonania, które umożliwiają szybkie i wydajne uruchamianie modeli na iOS, a także zapewniają dodatkową elastyczność w zakresie zarządzania wersjami i opcjonalnych delegowanych funkcji, takich jak coreML i Metal, aby zwiększyć wydajność.

Na przykład aplikacje na iOS, które korzystają z LiteRT, znajdziesz w repozytorium LiteRT samples.

Dodawanie LiteRT do projektu Swift lub Objective-C

LiteRT udostępnia natywne biblioteki iOS napisane w językach SwiftObjective-C.

W poniższych sekcjach dowiesz się, jak dodać do projektu LiteRT Swift lub Objective-C:

Deweloperzy CocoaPods

W sekcji Podfile dodaj pod LiteRT. Następnie uruchom pod install.

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

Określanie wersji

Dostępne są stabilne wersje i wersje comiesięczne zarówno w przypadku TensorFlowLiteSwift, jak i TensorFlowLiteObjC. Jeśli nie określisz ograniczenia wersji, jak w powyższych przykładach, CocoaPods domyślnie pobierze najnowszą stabilną wersję.

Możesz też określić ograniczenie wersji. Jeśli na przykład chcesz użyć wersji 2.10.0, możesz zapisać zależność w ten sposób:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

Dzięki temu w aplikacji będzie używana najnowsza dostępna wersja TensorFlowLiteSwift pod 2.x.y. Jeśli natomiast chcesz używać wersji dziennych, możesz napisać:

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

Od wersji 2.4.0 i najnowszych wersji nocnych domyślnie GPUpodstawowe komponenty ML są wykluczone z podu, aby zmniejszyć rozmiar pliku binarnego. Możesz je uwzględnić, określając specyfikację podrzędną:

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

Dzięki temu będziesz mieć dostęp do najnowszych funkcji dodanych do LiteRT. Pamiętaj, że po utworzeniu pliku Podfile.lock podczas pierwszego uruchomienia polecenia pod install wersja biblioteki nocnej zostanie zablokowana na bieżącą wersję. Jeśli chcesz zaktualizować bibliotekę nightly do nowszej wersji, uruchom polecenie pod update.

Więcej informacji o różnych sposobach określania ograniczeń wersji znajdziesz w artykule Określanie podwersji.

Deweloperzy Bazel

W pliku BUILD dodaj do celu zależność TensorFlowLite.

Swift

swift_library(
  deps = [
      "//tensorflow/lite/swift:TensorFlowLite",
  ],
)

Objective-C

objc_library(
  deps = [
      "//tensorflow/lite/objc:TensorFlowLite",
  ],
)

Interfejs API C/C++

Możesz też użyć interfejsu C API lub interfejsu C++ API.

# Using C API directly
objc_library(
  deps = [
      "//tensorflow/lite/c:c_api",
  ],
)

# Using C++ API directly
objc_library(
  deps = [
      "//tensorflow/lite:framework",
  ],
)

Importowanie biblioteki

W przypadku plików Swift zaimportuj moduł LiteRT:

import TensorFlowLite

W przypadku plików Objective-C zaimportuj nagłówek zbiorczy:

#import "TFLTensorFlowLite.h"

Jeśli w projekcie Xcode ustawisz CLANG_ENABLE_MODULES = YES, moduł będzie wyglądać tak:

@import TFLTensorFlowLite;