Guida rapida per iOS

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 leggere anche 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 in 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 .

Veloce

use_frameworks!
pod 'TensorFlowLiteSwift'

Obiettivo-C

pod 'TensorFlowLiteObjC'

Specificare le versioni

Sono disponibili versioni stabili e versioni notturne per i pod TensorFlowLiteSwift e TensorFlowLiteObjC . Se non specifichi un vincolo di versione come negli esempi precedenti, CocoaPods utilizzerà 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ò garantirà che nella tua app venga utilizzata la versione 2.xy più recente disponibile del pod TensorFlowLiteSwift . In alternativa, se vuoi dipendere dalle build notturne, puoi scrivere:

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

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 la dimensione binaria. Puoi includerli specificando la sottospec:

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 Specifica delle versioni dei pod .

Sviluppatori di Bazel

Nel tuo file BUILD , aggiungi la dipendenza TensorFlowLite alla tua destinazione.

Veloce

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 ombrello:

#import "TFLTensorFlowLite.h"

Oppure, il modulo se imposti CLANG_ENABLE_MODULES = YES nel tuo progetto Xcode:

@import TFLTensorFlowLite;