لا يقتصر تطوير Android على التطبيقات الصغيرة اللطيفة التي تقسم الفاتورة في المطاعم (يبدو أن هذه هي “فكرة التطبيق العبقري” للجميع ، أم أنها أنا فقط؟). يعد Android منصة قوية بدعم من واحدة من أكبر الشركات وأكثرها نفوذاً في العالم. شركة في طليعة التعلم الآلي وتعتبر نفسها “الذكاء الاصطناعي أولاً”.
يتيح تعلم TensorFlow Lite لنظام Android للمطورين تطبيق التعلم الآلي المتقدم في إبداعاتهم. يعمل هذا على توسيع قدرات التطبيق بشكل كبير وتقديم عدد لا يحصى من حالات الاستخدام المحتملة الجديدة. كما أنه يعلم مهارات لا تقدر بثمن والتي سيزداد الطلب عليها خلال السنوات القادمة.
أنظر أيضا: هل عملك آمن؟ الوظائف التي سيدمرها الذكاء الاصطناعي في السنوات العشر إلى العشرين القادمة
هذه مقدمة مثالية للتعلم الآلي ، فلنبدأ!
ما هو TensorFlow؟
لنبدأ بالأساسيات: ما هو TensorFlow Lite؟ للإجابة على ذلك ، يجب أن ننظر أولاً إلى TensorFlow نفسه. TensorFlow عبارة عن نظام أساسي “شامل” (بمعنى الكل في واحد) مفتوح المصدر للتعلم الآلي من فريق Google Brain. TensorFlow هي مكتبة برامج مفتوحة المصدر تتيح مهام التعلم الآلي.
مهمة التعلم الآلي هي أي مشكلة تتطلب التعرف على الأنماط مدعومًا بخوارزميات وكميات كبيرة من البيانات. هذا هو AI ، ولكن ليس في Hal من 2001: رحلة فضائية إحساس.
أنظر أيضا: الذكاء الاصطناعي مقابل التعلم الآلي: ما الفرق؟
استخدم حالات
مثال على تطبيقات التعلم الآلي هو رؤية الكمبيوتر. إنها تمكن أجهزة الكمبيوتر من التعرف على الأشياء في صورة فوتوغرافية أو تغذية الكاميرا الحية. للقيام بذلك ، يجب “تدريب” البرنامج أولاً من خلال عرض آلاف الصور لهذا الكائن. لا يفهم البرنامج أبدًا الكائن ولكنه يتعلم البحث عن أنماط بيانات معينة (تغييرات في التباين ، زوايا أو منحنيات معينة) من المحتمل أن تتطابق مع الكائن. بمرور الوقت ، يصبح البرنامج دقيقًا بشكل متزايد في اكتشاف هذا الكائن.
كمطور Android ، تخلق رؤية الكمبيوتر العديد من الاحتمالات: سواء كنت تريد استخدام التعرف على الوجه كميزة أمان ، أو إنشاء برنامج AR يمكنه إبراز العناصر في البيئة ، أو إنشاء تطبيق “Reface” التالي. هذا قبل أن نفكر في الاستخدامات الأخرى التي لا حصر لها لنماذج التعلم الآلي: التعرف على الصوت ، والتعرف الضوئي على الحروف ، والذكاء الاصطناعي للعدو ، وغير ذلك الكثير.
سيكون إنشاء وتنفيذ هذه الأنواع من النماذج من البداية مهمة شاقة للغاية لمطور واحد ، وهذا هو السبب في أنه من المفيد جدًا الوصول إلى المكتبات الجاهزة.
أنظر أيضا: ما هو جوجل كلاود؟
TensorFlow قادر على العمل على مجموعة كبيرة من وحدات المعالجة المركزية ووحدات معالجة الرسومات ، ولكنه يعمل بشكل جيد بشكل خاص مع وحدات معالجة Tensor (TPU) الخاصة بشركة Google. يمكن للمطورين أيضًا الاستفادة من قوة Google Cloud Platform من خلال الاستعانة بمصادر خارجية لعمليات التعلم الآلي لخوادم Google.
ما هو TensorFlow Lite؟
يوفر TensorFlow Lite جهازًا داخليًا (وهذا يعني أنه يعمل على الجهاز المحمول نفسه) Tensor Flow إلى الأجهزة المحمولة. تم الإعلان عن مجموعة برامج TFLite في عام 2017 ، وهي مصممة خصيصًا لتطوير الأجهزة المحمولة. من ناحية أخرى ، يعد TensorFlow Lite “Micro” إصدارًا مخصصًا للميكروكونترولر ، والذي تم دمجه مؤخرًا مع uTensor من ARM.
قد يسأل بعض المطورين الآن ما هو الفرق بين ML Kit و TensorFlow Lite. في حين أن هناك بالتأكيد بعض التداخل ، فإن TensorFlow Lite أكثر انخفاضًا وانفتاحًا. الأهم من ذلك: أن TensorFlow Lite يعمل خارج الجهاز نفسه ، بينما تتطلب ML Kit تسجيل Firebase واتصال إنترنت نشط. على الرغم من التسميات المربكة لـ Google ، لاحظ أن ML Kit لا تزال تستخدم TensorFlow “تحت الغطاء”. يعد Firebase أيضًا نوعًا آخر من مشاريع Google Cloud Platform.
أنظر أيضا: أنشئ تطبيقًا لاكتشاف الوجوه باستخدام التعلم الآلي و Firebase ML Kit
يتوفر TensorFlow Lite على نظامي Android و iOS عبر واجهة برمجة تطبيقات C ++ وملف Java لمطوري Android. على الأجهزة التي تدعمها ، يمكن للمكتبة أيضًا الاستفادة من Android Neural Networks API لتسريع الأجهزة.
ما الذي يجب أن تستخدمه لمشاريعك؟ هذا يعتمد كثيرا على هدفك. إذا كنت لا تمانع في الاعتماد على خدمة سحابية خارجية ، فقد تجعل ML Kit حياتك أسهل قليلاً. إذا كنت تريد تشغيل الكود محليًا ، أو إذا كنت تحتاج إلى مزيد من التخصيص والمرونة ، فانتقل إلى TensorFlow Lite.
كيفية استخدام TensorFlow Lite
عند حل مشكلة مع التعلم الآلي ، يعتمد المطورون على “النماذج”. نماذج ML هي ملفات تحتوي على ملفات إحصائية عارضات ازياء. يتم تدريب هذه الملفات على التعرف على أنماط معينة. يعني التدريب بشكل أساسي تغذية النموذج بعينات البيانات حتى يتمكن من تحسين معدل نجاحه من خلال تحسين الأنماط التي يستخدمها.
أنظر أيضا: ML Kit Image Labeling: تحديد محتوى الصورة باستخدام التعلم الآلي
لذلك ، قد يبدأ نموذج الرؤية الحاسوبية ببعض الافتراضات الأساسية حول شكل الجسم. عندما تعرضها المزيد والمزيد من الصور ، ستصبح أكثر دقة مع توسيع نطاق ما تبحث عنه أيضًا.
ستصادف “نماذج مدربة مسبقًا” تم تغذيتها بالفعل بكل هذه البيانات من أجل تحسين الخوارزميات الخاصة بهم. وبالتالي ، فإن هذا النوع من النماذج “جاهز للعمل”. يمكنه تلقائيًا أداء مهمة مثل تحديد المشاعر بناءً على تعابير الوجه أو تحريك ذراع الروبوت عبر الفضاء.
في TensorFlow Lite ، تسمى هذه الملفات “TensorFlow Lite Model Files” ولها الامتداد “.tflite” أو “.lite”. تتضمن ملفات الملصقات العلامات التي تم تدريب الملف عليها (على سبيل المثال ، “سعيد” أو “حزين” لنماذج التعرف على الوجه.)
نماذج ML التدريبية
قد تصادف أيضًا بعض الأنواع الأخرى من الملفات التي يتم استخدامها في عملية التدريب. تصف ملفات GraphDef (.pb أو .pbtxt) الرسم البياني الخاص بك ويمكن قراءتها بواسطة عمليات أخرى. تم تصميم إصدار TXT أيضًا ليكون قابلاً للقراءة من قبل الإنسان. يمكنك بناء هذه باستخدام TensorFlow أيضًا.
يُظهر لك ملف Checkpoint عملية التعلم من خلال سرد المتغيرات المتسلسلة – مما يتيح لك رؤية كيف تتغير القيم بمرور الوقت. يقوم Frozen Graph Def بتحويل هذه القيم إلى ثوابت ويقرأها من نقاط التحقق المحددة عبر الرسم البياني. ثم يتم بناء نموذج TFlite من عند الرسم البياني المجمد باستخدام TOCO (Tensor Flow Optimizing Converter Tool). يمنحنا هذا ملفًا رائعًا “مدرب مسبقًا” يمكننا بعد ذلك تنفيذه في تطبيقاتنا.
يمكن لهذه المكتبات التعامل مع جميع أنواع المهام الشائعة ، مثل الرد على الأسئلة والتعرف على الوجوه والمزيد.
إن مناقشة كيفية تدريب النماذج واستيرادها خارج نطاق هذا المنشور ، على الرغم من أنه يمكنك العثور على برنامج تعليمي رائع هنا.
الخبر السار هو أن مكتبة مهام TensorFlow تحتوي على العديد من المكتبات القوية والبسيطة التي تعتمد على نماذج مُدربة مسبقًا. يمكنها التعامل مع جميع أنواع المهام الشائعة ، مثل الرد على الأسئلة ، والتعرف على الوجوه ، والمزيد. هذا يعني أن المبتدئين لا داعي للقلق بشأن ملفات Checkpoint أو التدريب!
استخدام ملفات TFLite
هناك العديد من الطرق التي يمكنك من خلالها الحصول على ملفات نماذج TensorFlow Lite المدربة مسبقًا لتطبيقك. أوصي بالبدء بموقع TensorFlow الرسمي.
اتبع هذا الرابط ، على سبيل المثال ، وستتمكن من تنزيل نموذج مبدئي قادر على تصنيف الصور الأساسي. تتضمن الصفحة أيضًا بعض التفاصيل حول كيفية استخدامها عبر مكتبة مهام TensorFlow Lite. يمكنك بدلاً من ذلك استخدام مكتبة دعم TensorFlow Lite إذا كنت تريد إضافة خط أنابيب الاستدلال الخاص بك (على سبيل المثال ، ابحث عن أشياء جديدة).
بمجرد تنزيل الملف ، ستضعه في دليل الأصول. يجب تحديد عدم ضغط الملف. للقيام بذلك ، أضف ما يلي إلى بناء الوحدة النمطية الخاصة بك:
android { // Other settings // Specify tflite file should not be compressed for the app apk aaptOptions { noCompress "tflite" } }
إعداد مشروع Android Studio الخاص بك
من أجل استخدام TensorFlow Lite في تطبيقك ، ستحتاج إلى إضافة التبعية التالية إلى ملف build.gradle الخاص بك:
compile ‘org.tensorflow:tensorflow-lite:+’
بعد ذلك ، تحتاج إلى استيراد مترجمك الفوري. هذا هو الكود الذي سيحمّل النموذج ويسمح لك بتشغيله.
داخل ملف Java الخاص بك ، ستقوم بعد ذلك بإنشاء مثيل للمترجم الفوري واستخدامه لتحليل البيانات التي تحتاجها. على سبيل المثال ، يمكنك إدخال الصور وهذا سيعود بالنتائج.
سيتم تقديم النتائج في شكل احتمالات الإخراج. لا يمكن للنماذج أبدًا أن تحدد على وجه اليقين ماهية الشيء. وبالتالي ، فإن صورة قطة قد تكون 0.75 كلب و 0.25 قطة. يحتاج الرمز الخاص بك إلى
بدلاً من ذلك ، قم باستيراد مكتبة دعم TensorFlow وقم بتحويل الصورة إلى تنسيق tensor.
هذه النماذج المدربة مسبقًا قادرة على التعرف على آلاف فئات الصور. ومع ذلك ، توجد العديد من “البنى” النموذجية المختلفة التي تغير الطريقة التي يحدد بها النموذج “الطبقات” المشاركة في دورة التعلم ، بالإضافة إلى الخطوات التي يتم تنفيذها لتحويل البيانات الأولية إلى بيانات تدريب.
تتضمن بنى النماذج الشائعة أمثال MobileNet و Inception. مهمتك هي اختيار الحل الأمثل للوظيفة. على سبيل المثال ، تم تصميم MobileNet لتفضيل النماذج الخفيفة والسريعة على النماذج العميقة والمعقدة. تتميز النماذج المعقدة بدقة أعلى ولكن على حساب الحجم والسرعة.
تعلم المزيد
في حين أن هذا موضوع معقد للمبتدئين ، آمل أن يكون هذا المنشور قد أعطاك فكرة عن الأساسيات ، حتى تتمكن من فهم البرامج التعليمية المستقبلية بشكل أفضل. أفضل طريقة لتعلم أي مهارة جديدة هي اختيار مشروع ثم تعلم الخطوات اللازمة لإكمال تلك المهمة.
للحصول على فهم أكثر تعمقًا ، نوصي بشدة بالتعلم الآلي باستخدام TensorFlow. تتضمن هذه الدورة التدريبية 19 درسًا ستوضح لك كيفية تنفيذ الحلول التجارية الشائعة. سلطة أندرويد يحصل القراء على خصم بنسبة 91٪ في الوقت الحالي ، مما يخفض السعر إلى 10 دولارات من 124 دولارًا.