Per iniziare con TensorFlow Lite su iOS, ti consigliamo di esplorare il seguente esempio:
Esempio di classificazione delle immagini iOS
Per una spiegazione del codice sorgente, dovresti anche leggere la classificazione delle immagini iOS di TensorFlow Lite .
Questa app di esempio utilizza la classificazione delle immagini per classificare continuamente tutto ciò che vede dalla fotocamera posteriore del dispositivo, visualizzando le classificazioni più probabili. Consente all'utente di scegliere tra un modello a virgola mobile o quantizzato e selezionare il numero di thread su cui eseguire l'inferenza.
Aggiungi TensorFlow Lite al tuo progetto Swift o Objective-C
TensorFlow Lite offre librerie iOS native scritte in Swift e Objective-C . Inizia a scrivere il tuo codice iOS utilizzando l' esempio di classificazione delle immagini Swift come punto di partenza.
Le sezioni seguenti mostrano come aggiungere TensorFlow Lite Swift o Objective-C al tuo progetto:
Sviluppatori di CocoaPods
Nel tuo Podfile
, aggiungi il pod TensorFlow Lite. Quindi, esegui pod install
.
Rapido
use_frameworks!
pod 'TensorFlowLiteSwift'
Obiettivo-C
pod 'TensorFlowLiteObjC'
Specificare le versioni
Sono disponibili versioni stabili e versioni notturne per entrambi i pod TensorFlowLiteSwift
e TensorFlowLiteObjC
. Se non specifichi un vincolo di versione come negli esempi precedenti, CocoaPods estrarrà l'ultima versione stabile per impostazione predefinita.
È inoltre possibile specificare un vincolo di versione. Ad esempio, se desideri dipendere dalla versione 2.10.0, puoi scrivere la dipendenza come:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Ciò assicurerà che nella tua app venga utilizzata l'ultima versione 2.xy disponibile del pod TensorFlowLiteSwift
. In alternativa, se vuoi dipendere dalle build notturne, puoi scrivere:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
A partire dalla versione 2.4.0 e dalle ultime versioni notturne, per impostazione predefinita i delegati GPU e Core ML sono esclusi dal pod per ridurre le dimensioni binarie. Puoi includerli specificando subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Ciò ti consentirà di utilizzare le ultime funzionalità aggiunte a TensorFlow Lite. Tieni presente che una volta creato il file Podfile.lock
quando esegui il comando pod install
per la prima volta, la versione della libreria notturna verrà bloccata alla versione della data corrente. Se desideri aggiornare la libreria notturna a quella più recente, dovresti eseguire il comando pod update
.
Per ulteriori informazioni sui diversi modi di specificare i vincoli di versione, consulta Specificare le versioni dei pod .
Bazel sviluppatori
Nel tuo file BUILD
, aggiungi la dipendenza TensorFlowLite
al tuo target.
Rapido
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Obiettivo-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
In alternativa, puoi utilizzare l'API C o l'API C++
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//tensorflow/lite:framework",
],
)
Importa la libreria
Per i file Swift, importa il modulo TensorFlow Lite:
import TensorFlowLite
Per i file Objective-C, importa l'intestazione dell'ombrello:
#import "TFLTensorFlowLite.h"
Oppure, il modulo se imposti CLANG_ENABLE_MODULES = YES
nel tuo progetto Xcode:
@import TFLTensorFlowLite;