Si vous êtes un développeur ML expérimenté et que la bibliothèque TensorFlow Lite prédéfinie ne répond pas à vos besoins, vous pouvez utiliser une version TensorFlow Lite personnalisée avec ML Kit. Par exemple, vous pouvez ajouter des opérations personnalisées.
Prérequis
- Un environnement de compilation TensorFlow Lite fonctionnel
- Version 1.10.1 de TensorFlow Lite
Vous pouvez extraire la version correcte à l'aide de Git :
git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23
Compiler la bibliothèque TensorFlow Lite
- Compilez TensorFlow Lite (avec vos modifications) en suivant les instructions standards.
- Créez le framework :
tensorflow/lite/lib_package/create_ios_frameworks.sh
Le framework généré se trouve à l'adresse tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
.
Créer un pod local
- Créez un répertoire pour votre pod local.
- Exécutez
pod lib create TensorFlowLite
dans le répertoire que vous avez créé. - Créez un répertoire
Frameworks
dans le répertoireTensorFlowLite
. - Décompressez le fichier
tensorflow_lite.framework.zip
généré ci-dessus. - Copiez le fichier
tensorflow_lite.framework
décompressé dansTensorFlowLite/Frameworks
. - Modifiez le
TensorFlowLite/TensorFlowLite.podspec
généré pour référencer la bibliothèque :
Pod::Spec.new do |s|
s.name = 'TensorFlowLite'
s.version = '0.1.7' # Version must match.
s.ios.deployment_target = '9.0'
# ... make other changes as desired
internal_pod_root = Pathname.pwd
s.frameworks = 'Accelerate'
s.libraries = 'c++'
s.vendored_frameworks = 'Frameworks/tensorflow_lite.framework'
s.pod_target_xcconfig = {
'SWIFT_VERSION' => '4.0',
'INTERNAL_POD_ROOT' => "#{internal_pod_root}",
'HEADER_SEARCH_PATHS' => "$(inherited) '${INTERNAL_POD_ROOT}/Frameworks/tensorflow_lite.framework/Headers'",
'OTHER_LDFLAGS' => "-force_load '${INTERNAL_POD_ROOT}/Frameworks/tensorflow_lite.framework/tensorflow_lite'"
}
end
Référencer le pod personnalisé dans votre projet
Vous pouvez inclure le pod personnalisé en y faisant directement référence depuis le fichier Podfile
de votre application :
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Pour découvrir d'autres options de gestion des pods privés, consultez Pods privés dans la documentation CocoaPods. Notez que la version doit correspondre exactement. Vous devez faire référence à cette version lorsque vous incluez le pod de votre dépôt privé, par exemple pod 'TensorFlowLite', "1.10.1"
.