Aby rozpocząć korzystanie z TensorFlow Lite w systemie iOS, zalecamy zapoznanie się z następującym przykładem:
Przykład klasyfikacji obrazu w systemie iOS
Aby uzyskać wyjaśnienie kodu źródłowego, należy również przeczytać klasyfikację obrazów TensorFlow Lite iOS .
Ta przykładowa aplikacja wykorzystuje klasyfikację obrazu do ciągłego klasyfikowania wszystkiego, co widzi z tylnego aparatu urządzenia, wyświetlając najwyższe najbardziej prawdopodobne klasyfikacje. Umożliwia użytkownikowi wybór między modelem zmiennoprzecinkowym a kwantowym oraz wybór liczby wątków, na których ma być przeprowadzane wnioskowanie.
Dodaj TensorFlow Lite do swojego projektu Swift lub Objective-C
TensorFlow Lite oferuje natywne biblioteki iOS napisane w językach Swift i Objective-C . Zacznij pisać własny kod iOS, używającprzykładu klasyfikacji obrazów Swift jako punktu wyjścia.
Poniższe sekcje pokazują, jak dodać TensorFlow Lite Swift lub Objective-C do projektu:
Programiści CocoaPods
W swoim Podfile
dodaj pod TensorFlow Lite. Następnie uruchom pod install
.
Szybki
use_frameworks!
pod 'TensorFlowLiteSwift'
Cel C
pod 'TensorFlowLiteObjC'
Określanie wersji
Dostępne są wersje stabilne i wydania nocne dostępne zarówno dla 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 również określić ograniczenie wersji. Na przykład, jeśli chcesz polegać na wersji 2.0.0, możesz zapisać zależność jako:
pod 'TensorFlowLiteSwift', '~> 2.0.0'
Dzięki temu w Twojej aplikacji będzie używana najnowsza dostępna wersja TensorFlowLiteSwift
modułu TensorFlowLiteSwift
. Alternatywnie, jeśli chcesz polegać na nocnych kompilacjach, możesz napisać:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
Od wersji 2.4.0 i najnowszych wydań nocnych domyślnie delegaci GPU i Core ML są wykluczeni z kapsuły, aby zmniejszyć rozmiar binarny. Możesz je uwzględnić, określając podgrupę:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Umożliwi to korzystanie z najnowszych funkcji dodanych do TensorFlow Lite. Zwróć uwagę, że po Podfile.lock
pliku Podfile.lock
przy pierwszym uruchomieniu polecenia pod install
, wersja nocnej biblioteki zostanie zablokowana w wersji z bieżącą datą. Jeśli chcesz zaktualizować nocną bibliotekę do nowszej, uruchom polecenie pod update
.
Aby uzyskać więcej informacji na temat różnych sposobów określania ograniczeń wersji, zobacz Określanie wersji pod .
Programiści Bazel
W pliku BUILD
dodaj zależność TensorFlowLite
do celu.
Szybki
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Cel C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
Interfejs API C / C ++
Alternatywnie możesz użyć C API lub 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",
],
)
Zaimportuj bibliotekę
W przypadku plików Swift zaimportuj moduł TensorFlow Lite:
import TensorFlowLite
W przypadku plików Objective-C zaimportuj nagłówek parasolki:
#import "TFLTensorFlowLite.h"
Lub moduł, jeśli ustawisz CLANG_ENABLE_MODULES = YES
w swoim projekcie Xcode:
@import TFLTensorFlowLite;