Inicio rápido de iOS

Para comenzar con TensorFlow Lite en iOS, recomendamos explorar el siguiente ejemplo:

Ejemplo de clasificación de imágenes de iOS

Para obtener una explicación del código fuente, también debe leer la clasificación de imágenes de iOS de TensorFlow Lite .

Esta aplicación de ejemplo utiliza la clasificación de imágenes para clasificar continuamente lo que ve desde la cámara trasera del dispositivo, mostrando las clasificaciones más probables. Permite al usuario elegir entre un punto flotante o un modelo cuantizado y seleccionar el número de subprocesos para realizar la inferencia.

Agregue TensorFlow Lite a su proyecto Swift u Objective-C

TensorFlow Lite ofrece bibliotecas nativas de iOS escritas en Swift y Objective-C . Comience a escribir su propio código de iOS utilizando el ejemplo de clasificación de imágenes de Swift como punto de partida.

Las siguientes secciones muestran cómo agregar TensorFlow Lite Swift u Objective-C a su proyecto:

Desarrolladores de CocoaPods

En su Podfile , agregue el pod de TensorFlow Lite. Luego, ejecute pod install .

Rápido

use_frameworks!
pod 'TensorFlowLiteSwift'

C objetivo

pod 'TensorFlowLiteObjC'

Especificación de versiones

Hay lanzamientos estables y lanzamientos nocturnos disponibles para los pods de TensorFlowLiteSwift y TensorFlowLiteObjC . Si no especifica una restricción de versión como en los ejemplos anteriores, CocoaPods extraerá la última versión estable de forma predeterminada.

También puede especificar una restricción de versión. Por ejemplo, si desea depender de la versión 2.10.0, puede escribir la dependencia como:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

Esto garantizará que la aplicación utilice la última versión 2.xy disponible del pod TensorFlowLiteSwift . Alternativamente, si desea depender de las compilaciones nocturnas, puede escribir:

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

A partir de la versión 2.4.0 y los últimos lanzamientos nocturnos, los delegados de GPU y Core ML de forma predeterminada se excluyen del pod para reducir el tamaño binario. Puede incluirlos especificando la subespecificación:

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

Esto le permitirá usar las funciones más recientes agregadas a TensorFlow Lite. Tenga en cuenta que una vez que se crea el archivo Podfile.lock cuando ejecuta el comando pod install por primera vez, la versión de la biblioteca nocturna se bloqueará en la versión de la fecha actual. Si desea actualizar la biblioteca nocturna a la más nueva, debe ejecutar el comando pod update .

Para obtener más información sobre las diferentes formas de especificar restricciones de versión, consulte Especificación de versiones de pod .

desarrolladores de bazel

En su archivo BUILD , agregue la dependencia TensorFlowLite a su objetivo.

Rápido

swift_library(
  deps = [
      "//tensorflow/lite/swift:TensorFlowLite",
  ],
)

C objetivo

objc_library(
  deps = [
      "//tensorflow/lite/objc:TensorFlowLite",
  ],
)

API de C/C++

Alternativamente, puede usar la API de C o la API de C++

# Using C API directly
objc_library(
  deps = [
      "//tensorflow/lite/c:c_api",
  ],
)

# Using C++ API directly
objc_library(
  deps = [
      "//tensorflow/lite:framework",
  ],
)

Importar la biblioteca

Para archivos Swift, importe el módulo TensorFlow Lite:

import TensorFlowLite

Para archivos Objective-C, importe el encabezado general:

#import "TFLTensorFlowLite.h"

O bien, el módulo si establece CLANG_ENABLE_MODULES = YES en su proyecto Xcode:

@import TFLTensorFlowLite;