استخدام إصدار مخصّص من TensorFlow Lite

إذا كنت مطوّرًا ذا خبرة في تعلُّم الآلة ولم تلبِّ مكتبة TensorFlow Lite المعدّة مسبقًا احتياجاتك، يمكنك استخدام إصدار مخصّص من TensorFlow Lite مع ML Kit. على سبيل المثال، قد تحتاج إلى إضافة عمليات مخصّصة.

المتطلبات الأساسية

  • بيئة إنشاء TensorFlow Lite تعمل
  • إصدار TensorFlow Lite 1.10.1

يمكنك الاطّلاع على الإصدار الصحيح باستخدام Git:

git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23

إنشاء مكتبة TensorFlow Lite

  1. أنشئ Tensorflow Lite (مع التعديلات التي أجريتها) باتّباع التعليمات العادية.
  2. إنشاء إطار العمل:
tensorflow/lite/lib_package/create_ios_frameworks.sh

يمكن العثور على إطار العمل الذي تم إنشاؤه في tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip

إنشاء مجموعة محلية

  1. إنشاء دليل لمجموعة المشاركين المحليين
  2. تشغيل pod lib create TensorFlowLite في الدليل الذي أنشأته
  3. إنشاء دليل Frameworks داخل الدليل TensorFlowLite
  4. فكّ ضغط ملف tensorflow_lite.framework.zip الذي تم إنشاؤه أعلاه
  5. انسخ الملف tensorflow_lite.framework الذي تم فك ضغطه إلى TensorFlowLite/Frameworks
  6. عدِّل الرمز البرمجي TensorFlowLite/TensorFlowLite.podspec الذي تم إنشاؤه للإشارة إلى المكتبة:
    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

الإشارة إلى الحزمة المخصّصة في مشروعك

يمكنك تضمين الحزمة المخصّصة من خلال الإشارة إليها مباشرةً من Podfile في تطبيقك:

pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'

للاطّلاع على خيارات أخرى لإدارة وحدات Pod الخاصة، راجِع وحدات Pod الخاصة في مستندات Cocoapods. يُرجى العِلم أنّه يجب أن يتطابق الإصدار تمامًا، ويجب الإشارة إلى هذا الإصدار عند تضمين الحزمة من المستودع الخاص، مثلاً pod 'TensorFlowLite', "1.10.1".