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 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;