LiteRT te permite ejecutar modelos de TensorFlow, PyTorch y JAX en tus apps para iOS. El sistema LiteRT proporciona entornos de ejecución precompilados y personalizables para ejecutar modelos en iOS de forma rápida y eficiente, con flexibilidad adicional para la administración de versiones y delegados opcionales, como coreML y Metal, para mejorar el rendimiento.
Por ejemplo, las aplicaciones para iOS que usan LiteRT, consulta el repositorio de muestras de LiteRT.
Agrega LiteRT a tu proyecto de Swift o Objective-C
LiteRT ofrece bibliotecas nativas de iOS escritas en Swift y Objective-C.
En las siguientes secciones, se muestra cómo agregar LiteRT Swift o Objective-C a tu proyecto:
Desarrolladores de CocoaPods
En tu Podfile
, agrega el pod de LiteRT. Luego, ejecuta pod install
.
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
Especifica las versiones
Hay versiones estables y nocturnas disponibles para los pods TensorFlowLiteSwift
y TensorFlowLiteObjC
. Si no especificas una
restricción de versión como en los ejemplos anteriores, CocoaPods extraerá la versión estable
más reciente de forma predeterminada.
También puedes especificar una restricción de versión. Por ejemplo, si deseas depender de la versión 2.10.0, puedes escribir la dependencia de la siguiente manera:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Esto garantizará que se use la versión 2.x.y más reciente disponible del pod TensorFlowLiteSwift
en tu app. Como alternativa, si deseas depender de las compilaciones nocturnas, puedes escribir lo siguiente:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
A partir de la versión 2.4.0 y las versiones nocturnas más recientes, de forma predeterminada, GPU y los delegados de AA principales se excluyen del pod para reducir el tamaño del objeto binario. Para incluirlos, especifica la subespecificación:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Esto te permitirá usar las funciones más recientes que se agregaron a LiteRT. Ten en cuenta que, una vez que se crea el archivo Podfile.lock
cuando ejecutas 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 deseas actualizar la biblioteca nocturna a la más reciente, debes ejecutar el comando pod update
.
Para obtener más información sobre las diferentes formas de especificar restricciones de versión, consulta Especifica las versiones de los pods.
Desarrolladores de Bazel
En tu archivo BUILD
, agrega la dependencia TensorFlowLite
a tu destino.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API de C/C++
Como alternativa, puedes 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",
],
)
Importa la biblioteca
Para archivos Swift, importa el módulo LiteRT:
import TensorFlowLite
Para archivos Objective-C, importa el encabezado general:
#import "TFLTensorFlowLite.h"
O bien, el módulo si configuras CLANG_ENABLE_MODULES = YES
en tu proyecto de Xcode:
@import TFLTensorFlowLite;