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 souhaiterez peut-être ajouter des opérations personnalisées.
Conditions préalables
- Un environnement de construction TensorFlow Lite fonctionnel
- Une extraction de TensorFlow Lite 1.10.1
Vous pouvez consulter la version correcte en utilisant Git :
git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23
Construire la bibliothèque Tensorflow Lite
- Créez Tensorflow Lite (avec vos modifications) en suivant les instructions standard
- Construire le cadre :
tensorflow/lite/lib_package/create_ios_frameworks.sh
Le framework généré peut être trouvé sur 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
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 le référençant directement depuis Podfile
de votre application :
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Pour d'autres options de gestion des pods privés, consultez Pods privés dans la documentation Cocoapods. Notez que la version doit correspondre exactement et vous devez référencer cette version lorsque vous incluez le pod de votre référentiel privé, par exemple pod 'TensorFlowLite', "1.10.1"
.