Guida rapida per iOS, 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 anche leggere Classificazione delle immagini di TensorFlow Lite iOS .

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 in alto. 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 dell'immagine 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 entrambi i pod TensorFlowLiteSwift e TensorFlowLiteObjC . Se non specifichi un vincolo di versione come negli esempi precedenti, CocoaPods eseguirà il pull dell'ultima versione stabile per impostazione predefinita.

È inoltre possibile specificare un vincolo di versione. Ad esempio, se desideri dipendere dalla versione 2.0.0, puoi scrivere la dipendenza come:

pod 'TensorFlowLiteSwift', '~> 2.0.0'

Ciò assicurerà che nell'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'

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 le sottospecifiche:

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

Ciò ti consentirà di utilizzare le ultime funzionalità aggiunte a TensorFlow Lite. Si noti che una volta creato il file Podfile.lock quando si esegue 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, vedere Specifica delle versioni del pod .

Sviluppatori Bazel

Nel tuo file BUILD , aggiungi la dipendenza TensorFlowLite al tuo target.

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 = [
      "//third_party/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;
,

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 Classificazione delle immagini di TensorFlow Lite iOS .

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 in alto. 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 dell'immagine 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 entrambi i pod TensorFlowLiteSwift e TensorFlowLiteObjC . Se non specifichi un vincolo di versione come negli esempi precedenti, CocoaPods eseguirà il pull dell'ultima versione stabile per impostazione predefinita.

È inoltre possibile specificare un vincolo di versione. Ad esempio, se desideri dipendere dalla versione 2.0.0, puoi scrivere la dipendenza come:

pod 'TensorFlowLiteSwift', '~> 2.0.0'

Ciò assicurerà che nell'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'

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 le sottospecifiche:

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

Ciò ti consentirà di utilizzare le ultime funzionalità aggiunte a TensorFlow Lite. Si noti che una volta creato il file Podfile.lock quando si esegue 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, vedere Specifica delle versioni del pod .

Sviluppatori Bazel

Nel tuo file BUILD , aggiungi la dipendenza TensorFlowLite al tuo target.

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 = [
      "//third_party/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;