Si vous êtes un développeur de ML expérimenté et que la bibliothèque TensorFlow Lite prédéfinie ne répond pas à vos besoins, vous pouvez utiliser une version personnalisée de TensorFlow Lite avec ML Kit. Par exemple, vous pouvez ajouter des opérations personnalisées.
Prérequis
- Un environnement de compilation TensorFlow Lite opérationnel
- Un extrait de TensorFlow Lite 1.10.1
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
Créer la bibliothèque TensorFlow Lite
- Créez 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é est disponible à l'adresse tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
Créer un pod local
- Créer un répertoire pour votre pod local
- Exécutez
pod lib create TensorFlowLite
dans le répertoire que vous avez créé. - Créer un répertoire
Frameworks
dans le répertoireTensorFlowLite
- Décompressez le fichier
tensorflow_lite.framework.zip
généré ci-dessus. - Copiez le
tensorflow_lite.framework
décompressé dansTensorFlowLite/Frameworks
- Modifiez le fichier
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 le référençant directement à partir du fichier Podfile
de votre application:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Pour connaître les autres options de gestion des pods privés, consultez la section Pods privés dans la documentation Cocoapods. Notez que la version doit correspondre exactement, et que vous devez faire référence à cette version lorsque vous incluez le pod à partir de votre dépôt privé, par exemple pod 'TensorFlowLite', "1.10.1"
.