Aby rozpocząć korzystanie z TensorFlow Lite na iOS, zalecamy zapoznanie się z następującym przykładem:
Przykład klasyfikacji obrazu iOS
Aby zapoznać się z kodem źródłowym, przeczytaj także klasyfikację obrazów TensorFlow Lite iOS .
Ta przykładowa aplikacja wykorzystuje klasyfikację obrazu do ciągłego klasyfikowania tego, co widzi z tylnej kamery urządzenia, wyświetlając najbardziej prawdopodobne klasyfikacje. Pozwala użytkownikowi wybrać pomiędzy modelem zmiennoprzecinkowym lub skwantowanym i wybrać liczbę wątków, na podstawie których będzie wykonywane wnioskowanie.
Dodaj TensorFlow Lite do swojego projektu Swift lub Objective-C
TensorFlow Lite oferuje natywne biblioteki iOS napisane w Swift i Objective-C . Zacznij pisać własny kod iOS, korzystając z przykładu klasyfikacji obrazów Swift jako punktu wyjścia.
Poniższe sekcje pokazują, jak dodać TensorFlow Lite Swift lub Objective-C do swojego projektu:
Twórcy CocoaPods
W swoim Podfile
dodaj moduł TensorFlow Lite. Następnie uruchom pod install
.
Szybki
use_frameworks!
pod 'TensorFlowLiteSwift'
Cel C
pod 'TensorFlowLiteObjC'
Określanie wersji
Dostępne są wydania stabilne i wydania nocne zarówno dla zasobników 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żna także określić ograniczenie wersji. Na przykład, jeśli chcesz polegać na wersji 2.10.0, możesz zapisać zależność jako:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Dzięki temu w aplikacji będzie używana najnowsza dostępna wersja 2.xy 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 zasobnika, aby zmniejszyć rozmiar pliku binarnego. Możesz je uwzględnić, określając podspecyfikację:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Umożliwi to korzystanie z najnowszych funkcji dodanych do TensorFlow Lite. Należy pamiętać, że po utworzeniu pliku Podfile.lock
przy pierwszym uruchomieniu polecenia pod install
wersja biblioteki nocnej zostanie zablokowana na wersji z bieżącą datą. Jeśli chcesz zaktualizować bibliotekę nightly do nowszej, powinieneś uruchomić polecenie pod update
.
Aby uzyskać więcej informacji na temat różnych sposobów określania ograniczeń wersji, zobacz Określanie wersji podów .
Programiści Bazela
W pliku BUILD
dodaj zależność TensorFlowLite
do elementu docelowego.
Szybki
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Cel C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
Alternatywnie możesz użyć interfejsu API języka C lub interfejsu API języka C++
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//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 parasolowy:
#import "TFLTensorFlowLite.h"
Lub moduł, jeśli ustawisz CLANG_ENABLE_MODULES = YES
w swoim projekcie Xcode:
@import TFLTensorFlowLite;