O LiteRT permite executar modelos do TensorFlow, PyTorch e JAX nos seus apps para iOS. O sistema LiteRT oferece ambientes de execução predefinidos e personalizáveis para executar modelos no iOS de forma rápida e eficiente, com mais flexibilidade para gerenciamento de versões e delegados opcionais, como coreML e Metal, para melhor desempenho.
Por exemplo, aplicativos iOS que usam o LiteRT, consulte o repositório LiteRT samples.
Adicionar o LiteRT ao seu projeto Swift ou Objective-C
O LiteRT oferece bibliotecas nativas do iOS escritas em Swift e Objective-C.
As seções abaixo demonstram como adicionar o LiteRT Swift ou Objective-C ao seu projeto:
Desenvolvedores do CocoaPods
No Podfile
, adicione o pod do LiteRT. Depois, execute pod install
.
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
Como especificar versões
Há versões estáveis e noturnas disponíveis para pods
TensorFlowLiteSwift
e TensorFlowLiteObjC
. Se você não especificar uma
restrição de versão, como nos exemplos acima, o CocoaPods vai extrair a versão
estável mais recente por padrão.
Também é possível especificar uma restrição de versão. Por exemplo, se você quiser depender da versão 2.10.0, escreva a dependência como:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Isso garante que a versão 2.x.y mais recente do pod TensorFlowLiteSwift
seja usada no app. Como alternativa, se você quiser depender dos builds
noturnos, escreva:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
A partir da versão 2.4.0 e das versões noturnas mais recentes, por padrão, GPU e delegados do ML do núcleo são excluídos do pod para reduzir o tamanho binário. É possível incluí-los especificando subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Isso permite que você use os recursos mais recentes adicionados ao LiteRT. Observe
que, depois que o arquivo Podfile.lock
for criado quando você executar o comando pod install
pela primeira vez, a versão da biblioteca noturna será travada na versão
da data atual. Se você quiser atualizar a biblioteca noturna para a mais recente, execute o comando pod update
.
Para mais informações sobre as diferentes maneiras de especificar restrições de versão, consulte Como especificar versões de pods.
Desenvolvedores do Bazel
No arquivo BUILD
, adicione a dependência TensorFlowLite
ao destino.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
Como alternativa, use a API C ou a 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 a biblioteca
Para arquivos Swift, importe o módulo LiteRT:
import TensorFlowLite
Para arquivos Objective-C, importe o cabeçalho de guarda-chuva:
#import "TFLTensorFlowLite.h"
Ou o módulo se você definir CLANG_ENABLE_MODULES = YES
no projeto do Xcode:
@import TFLTensorFlowLite;