Para começar a usar o TensorFlow Lite no iOS, recomendamos explorar o seguinte exemplo:
Exemplo de classificação de imagem do iOS
Para obter uma explicação do código-fonte, você também deve ler Classificação de imagens do TensorFlow Lite iOS .
Este aplicativo de exemplo usa classificação de imagem para classificar continuamente tudo o que vê da câmera traseira do dispositivo, exibindo as principais classificações mais prováveis. Ele permite que o usuário escolha entre um modelo de ponto flutuante ou quantizado e selecione o número de threads para realizar a inferência.
Adicione o TensorFlow Lite ao seu projeto Swift ou Objective-C
O TensorFlow Lite oferece bibliotecas nativas do iOS escritas em Swift e Objective-C . Comece a escrever seu próprio código iOS usando o exemplo de classificação de imagem Swift como ponto de partida.
As seções abaixo demonstram como adicionar o TensorFlow Lite Swift ou Objective-C ao seu projeto:
Desenvolvedores CocoaPods
No seu Podfile
, adicione o pod do TensorFlow Lite. Em seguida, execute pod install
.
Rápido
use_frameworks!
pod 'TensorFlowLiteSwift'
Objetivo-C
pod 'TensorFlowLiteObjC'
Especificando versões
Existem versões estáveis e versões noturnas disponíveis para os pods TensorFlowLiteSwift
e TensorFlowLiteObjC
. Se você não especificar uma restrição de versão como nos exemplos acima, o CocoaPods extrairá a versão estável mais recente por padrão.
Você também pode especificar uma restrição de versão. Por exemplo, se você deseja depender da versão 2.0.0, você pode escrever a dependência como:
pod 'TensorFlowLiteSwift', '~> 2.0.0'
Isso garantirá que a versão 2.xy mais recente disponível do pod TensorFlowLiteSwift
seja usada em seu aplicativo. Alternativamente, se você quiser depender das compilações noturnas, você pode escrever:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
A partir da versão 2.4.0 e das versões noturnas mais recentes, por padrão, os delegados de GPU e Core ML são excluídos do pod para reduzir o tamanho do binário. Você pode incluí-los especificando subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Isso permitirá que você use os recursos mais recentes adicionados ao TensorFlow Lite. Observe que uma vez que o arquivo Podfile.lock
é criado quando você executa o comando pod install
pela primeira vez, a versão da biblioteca noturna será bloqueada na versão da data atual. Se você deseja atualizar a biblioteca noturna para a mais recente, execute o comando pod update
.
Para obter mais informações sobre diferentes maneiras de especificar restrições de versão, consulte Especificando versões de pod .
Desenvolvedores do Bazel
Em seu arquivo BUILD
, adicione a dependência do TensorFlowLite
ao seu destino.
Rápido
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objetivo-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
Como alternativa, você pode usar 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 = [
"//third_party/tensorflow/lite:framework",
],
)
Importar a biblioteca
Para arquivos Swift, importe o módulo TensorFlow Lite:
import TensorFlowLite
Para arquivos Objective-C, importe o cabeçalho guarda-chuva:
#import "TFLTensorFlowLite.h"
Ou o módulo se você definir CLANG_ENABLE_MODULES = YES
em seu projeto Xcode:
@import TFLTensorFlowLite;
,Para começar a usar o TensorFlow Lite no iOS, recomendamos explorar o seguinte exemplo:
Exemplo de classificação de imagem do iOS
Para obter uma explicação do código-fonte, você também deve ler Classificação de imagens do TensorFlow Lite iOS .
Este aplicativo de exemplo usa classificação de imagem para classificar continuamente tudo o que vê da câmera traseira do dispositivo, exibindo as principais classificações mais prováveis. Ele permite que o usuário escolha entre um modelo de ponto flutuante ou quantizado e selecione o número de threads para realizar a inferência.
Adicione o TensorFlow Lite ao seu projeto Swift ou Objective-C
O TensorFlow Lite oferece bibliotecas nativas do iOS escritas em Swift e Objective-C . Comece a escrever seu próprio código iOS usando o exemplo de classificação de imagem Swift como ponto de partida.
As seções abaixo demonstram como adicionar o TensorFlow Lite Swift ou Objective-C ao seu projeto:
Desenvolvedores CocoaPods
No seu Podfile
, adicione o pod do TensorFlow Lite. Em seguida, execute pod install
.
Rápido
use_frameworks!
pod 'TensorFlowLiteSwift'
Objetivo-C
pod 'TensorFlowLiteObjC'
Especificando versões
Existem versões estáveis e versões noturnas disponíveis para os pods TensorFlowLiteSwift
e TensorFlowLiteObjC
. Se você não especificar uma restrição de versão como nos exemplos acima, o CocoaPods extrairá a versão estável mais recente por padrão.
Você também pode especificar uma restrição de versão. Por exemplo, se você deseja depender da versão 2.0.0, você pode escrever a dependência como:
pod 'TensorFlowLiteSwift', '~> 2.0.0'
Isso garantirá que a versão 2.xy mais recente disponível do pod TensorFlowLiteSwift
seja usada em seu aplicativo. Alternativamente, se você quiser depender das compilações noturnas, você pode escrever:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
A partir da versão 2.4.0 e das versões noturnas mais recentes, por padrão, os delegados de GPU e Core ML são excluídos do pod para reduzir o tamanho do binário. Você pode incluí-los especificando subspec:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
Isso permitirá que você use os recursos mais recentes adicionados ao TensorFlow Lite. Observe que uma vez que o arquivo Podfile.lock
é criado quando você executa o comando pod install
pela primeira vez, a versão da biblioteca noturna será bloqueada na versão da data atual. Se você deseja atualizar a biblioteca noturna para a mais recente, execute o comando pod update
.
Para obter mais informações sobre diferentes maneiras de especificar restrições de versão, consulte Especificando versões de pod .
Desenvolvedores do Bazel
Em seu arquivo BUILD
, adicione a dependência do TensorFlowLite
ao seu destino.
Rápido
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objetivo-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
API C/C++
Como alternativa, você pode usar 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 = [
"//third_party/tensorflow/lite:framework",
],
)
Importar a biblioteca
Para arquivos Swift, importe o módulo TensorFlow Lite:
import TensorFlowLite
Para arquivos Objective-C, importe o cabeçalho guarda-chuva:
#import "TFLTensorFlowLite.h"
Ou o módulo se você definir CLANG_ENABLE_MODULES = YES
em seu projeto Xcode:
@import TFLTensorFlowLite;