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 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 todo lo que ve desde la cámara trasera del dispositivo, mostrando las clasificaciones más probables. Permite al usuario elegir entre un modelo de punto flotante o cuantificado y seleccionar el número de subprocesos sobre los que 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 iOS utilizando el ejemplo de clasificación de imágenes de Swift como punto de partida.

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

Desarrolladores de CocoaPods

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

Rápido

use_frameworks!
pod 'TensorFlowLiteSwift'

C objetivo

pod 'TensorFlowLiteObjC'

Especificación de versiones

Hay versiones estables y versiones nocturnas disponibles para los pods 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 se utilice la última versión 2.xy disponible del pod TensorFlowLiteSwift en su aplicación. 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 las últimas versiones nocturnas, de forma predeterminada, los delegados de GPU y Core ML se excluyen del pod para reducir el tamaño binario. Puede incluirlos especificando subespección:

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

Esto le permitirá utilizar las últimas funciones 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 una 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 C/C++

Alternativamente, puede usar API C o API 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 el módulo si configura CLANG_ENABLE_MODULES = YES en su proyecto Xcode:

@import TFLTensorFlowLite;