¿Tengo una pregunta? Conéctese con la comunidad en el Foro de visita del foro de TensorFlow

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 modelo de punto flotante o cuantificado y seleccionar el número de subprocesos para realizar inferencias.

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 elejemplo de clasificación de imágenes Swift como punto de partida.

Las siguientes secciones demuestran 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'

Especificando 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.0.0, puede escribir la dependencia como:

pod 'TensorFlowLiteSwift', '~> 2.0.0'

Esto garantizará que se utilice en su aplicación 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 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 subespecificació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 Podfile.lock 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 de pod update .

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

Desarrolladores de Bazel

En su archivo BUILD , agregue la dependencia de 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 utilizar API C o 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",
  ],
)

Importar la biblioteca

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

import TensorFlowLite

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