البرنامج التعليمي الصعب

Albrnamj Alt Lymy Als B



هل كان أي شخص على علم باستخدام Python في تصميم وتطوير الروبوتات؟ إذا كان الأمر كذلك ، يجب أن يكون المرء قادرًا على إثبات أن فكرة بايثون عن التعلم العميق هي الطريقة الوحيدة لتحقيق ذلك. التعلم الآلي هو البحث عن تقنيات التحسين التي تستمد الإلهام من نموذج العقل البشري. تشهد تخصصات علوم البيانات ، بما في ذلك الروبوتات والذكاء الاصطناعي (AI) وتحديد الموسيقى والفيديو وتحديد الصور ، زيادة في استخدام التعلم العميق. تم بناء مناهج التعلم العميق حول الشبكات العصبية الاصطناعية. قبل البحث بعمق ، تحتاج إلى فهم مفهوم Keras أولاً.

الصعب

من بين المكونات الإضافية الأكثر فاعلية وسهولة في الاستخدام لبناء خوارزميات التعلم العميق ، إطار عصبي اصطناعي مرتفع قائم على Python يسمى Keras ، والذي سيتم بناؤه على قمة أطر التعلم العميق المعروفة مثل TensorFlow أو CNTK. لتمكين استكشاف أسرع باستخدام شبكات عصبية أعمق ، فقد تم تصميمه سهل الاستخدام وقابل للتمديد وقابل للتكيف. إنه يتعامل مع كل من شبكات التغذية الأمامية والقابلة للسحب بشكل منفصل ، وكذلك في مجموعة. تستخدم الحزمة الخلفية لمعالجة العمليات الصغيرة لأنها غير قادرة على إدارتها. سيتم تناول نشر Keras ، وأساسيات التعلم العميق ، وهياكل Keras ، وطبقات Keras ، وحزم Keras ، والبرمجة في الوقت الفعلي في هذا الدرس.

قم بإعداد Keras على Linux

الخطوة 01: تحديث النظام

قبل الحصول على العرض التوضيحي الكامل لاستخدام مكتبة 'Keras' في Python ، يتعين علينا تحديث جهاز Linux الخاص بنا بالكامل لتسهيل عمليات التثبيت الإضافية. لهذا الغرض ، يتعين علينا فتح تطبيق 'وحدة التحكم' بسرعة من التطبيقات المدمجة في النظام. ضمن منطقة الاستعلام المحددة ، أضفنا استعلام 'تحديث' لنظام Linux باستخدام الأداة المساعدة 'apt' وامتياز 'sudo' لتحديث النظام الذي لدينا بسرعة. لقد تطلب كلمة مرور المستخدم الخاصة بنا لمواصلة هذه العملية حتى يمكن تحديث نظامنا بشكل صحيح.









الخطوة 02: قم بتثبيت Python و Pip

لاستخدام التعلم العميق من خلال Keras و TensorFlow ، يجب أن يكون لدينا أحدث إصدار من Python مهيأ على أجهزتنا. لذلك ، نبدأ في تثبيت حزمة Python المحدثة جنبًا إلى جنب مع الأداة المساعدة 'pip' الضرورية على نظامنا. لذلك ، يتعين علينا استخدام الأداة المساعدة 'apt' لنظام Ubuntu 20.04 Linux في استعلام 'التثبيت' على الغلاف متبوعًا بأسماء الحزم المراد تثبيتها ، مثل Python3 و Python3-pip. عند تنفيذ هذا الاستعلام البسيط في منطقة وحدة التحكم ، سيبدأ النظام في تثبيت وتكوين كلتا الحزمتين في نظامنا.







من ناحية أخرى ، إذا كان نظامك يحتوي على إصدار قديم من الأداة المساعدة 'pip' لبيثون ، فيجب عليك تحديثه قبل المضي قدمًا.



بعد التكوين الناجح لـ Python والأداة المساعدة 'pip' الخاصة بها ، حان الوقت لترقية Setuptools لـ Python لتجنب أي مشاكل في المستقبل القريب. ومن ثم ، فقد جربنا استعلام التثبيت باستخدام الأداة المساعدة 'pip3' وخيار الترقية - لتثبيت ترقية أدوات الإعداد ، أي أدوات الإعداد. يطلب كلمة المرور الحالية لنظامنا ، وقد أضفناها.

الخطوة 03: تثبيت TensorFlow

لبناء التعلم الآلي والنماذج العصبية الخاضعة للإشراف ، TensorFlow هي حزمة الرياضيات الرمزية الأكثر شهرة. بعد إجراء عمليات التثبيت ، قمنا بتنفيذ نفس استعلام التثبيت 'pip3' متبوعًا باسم حزمة 'Tensorflow'.

يلزم تثبيت أدوات مساعدة أخرى متعلقة بـ TensorFlow بشكل كامل على النظام. سيتم تثبيت هذه الأدوات المساعدة مع TensorFlow ، وقد يستغرق الأمر ما يصل إلى 10 دقائق أو أكثر.

الخطوة الرابعة: تثبيت الحزم الأساسية

بعد التكوين المثمر لـ TensorFlow في نظام Ubuntu 20.04 ، نحتاج أيضًا إلى تكوين بعض حزم الإنشاء جنبًا إلى جنب مع بعض الأدوات المساعدة الأخرى مثل 'git' و 'cmake'. من خلال تجربة نفس الأداة 'apt' ، قمنا بتثبيت العديد من الحزم الضرورية ، كما هو موضح أدناه:

هذه الخطوة تحظى بأكبر قدر من الاهتمام من خلال تأكيد هذا التثبيت. اضغط على 'y' وتابع.

الخطوة الخامسة: إنشاء بيئة افتراضية

بعد عمليات التثبيت اللازمة ، حان الوقت لإنشاء بيئة افتراضية. لذلك ، يتعين علينا استخدام الأداة المساعدة Python3 مع الخيار '-m' لإنشاء البيئة الافتراضية 'kerasenv' عبر المتغير 'venv'. يوضح الاستعلام 'ls' أن البيئة قد تم إنشاؤها.

الآن ، نحتاج إلى الانتقال داخل البيئة الافتراضية لمجلد Keras. لذلك ، كنا نستخدم تعليمة 'cd' مع اسم مجلد البيئة الافتراضية. بعد ذلك ، كنا نتحرك داخل مجلد 'bin' لهذه البيئة الافتراضية وقمنا بإدراج قائمة فرعية لها. لتنشيط بيئة Python هذه ، جربنا تعليمات 'source' في منطقة الاستعلام الخاصة بها جنبًا إلى جنب مع ملف 'Activ'. يتم تنشيط البيئة الافتراضية باسم 'kerasenv'.

الخطوة 06: تثبيت مكتبات Python

بعد إعداد بيئة Python الافتراضية بنجاح ، يجب عليك تثبيت جميع مكتبات Python المطلوبة قبل تثبيت Keras. لذلك ، قمنا بتثبيت مكتبة الباندا أولاً في نفس البيئة الافتراضية باستخدام حزمة 'pip' من Python.

سيبدأ النظام في تكوينه داخل بيئة Python الافتراضية ، كما هو موضح في الصورة:

بعد تثبيت مكتبة الباندا ، حاول تثبيت مكتبة NumPy باستخدام الطريقة التالية:

بطريقة مشابهة جدًا ، قم بتثبيت مكتبة scipy من Python في نفس البيئة.

الآن ، قم بتثبيت مكتبة matplotlib الخاصة ببايثون في البيئة.

تستخدم Python خوارزميات التجميع والانحدار في التعلم الآلي لأداء نماذج الشبكة العصبية. لهذا ، يحتوي على مكتبة التعلم sci-kit التي نقوم بتثبيتها باستخدام الأداة المساعدة 'pip' جنبًا إلى جنب مع الخيار '-u' لتكوين الحزم المطلوبة أيضًا.

تم عرض معالجة تثبيت مكتبة scikit أدناه:

للتصور في التعلم العميق ، نحتاج إلى تثبيت مكتبة بايثون البحرية. لذلك ، قمنا بتثبيته في نفس البيئة باستخدام استعلام 'install'.

الخطوة 07: تثبيت مكتبة Keras

بعد تثبيت جميع مكتبات Python الضرورية ، يمكننا أخيرًا تثبيت Keras داخل البيئة الافتراضية لبايثون. سيتم استخدام الأداة المساعدة 'pip' لهذا الغرض في استعلام 'التثبيت' مع اسم الوحدة ، أي 'Keras'. إذا أظهر النظام أن متطلباته مستوفاة بالفعل ، فهذا يعني أنه تم تثبيته وتكوينه بالفعل.

إذا لم يكن مثبتًا بالفعل ، فسيبدأ تنزيل هذا الاستعلام وتكوينه في البيئة الافتراضية دون تأخير لمدة ثانية واحدة وسيتم عرض المعالجة ، على النحو التالي:

بعد التكوين والتثبيت الكامل لمكتبة 'Keras' على البيئة الافتراضية ، حان الوقت لإظهار المعلومات الكاملة المتعلقة بها على الغلاف عبر استعلام 'عرض النقاط'. كان تنفيذ طلب البحث 'show' هذا يعرض إصدار Keras المثبت في بيئتنا الافتراضية من Python ، واسمه ، وملخصه ، وصفحته الرئيسية على الويب ، والمؤلف ، والبريد الإلكتروني للمؤلف ، والترخيص ، والموقع الذي يتخذه على نظامنا ، والعديد من المزيد كما هو معروض أدناه:

بعد أفضل عمليات التثبيت لمكتبتي Keras و TensorFlow في Python ، نحتاج إلى إنهاء البيئة الافتراضية. لذلك ، جرب استعلام 'إلغاء التنشيط' على الغلاف ثم قم بإنهاء.

الخطوة 08: قم بتثبيت Anaconda Cloud

تمتلك Python سحابة تسمى 'Anaconda' وهي ضرورية لبناء أمثلة للشبكات العصبية في Python. لذلك ، قمنا بتنزيل ملف التنفيذ الخاص به على نظامنا.

كان هذا الملف موجودًا في المجلد الرئيسي الحالي لجهاز Linux وفقًا للاستعلام 'ls'. تحتاج إلى التأكد من أنه المجموع الاختباري أولاً ، أي ما إذا كان صحيحًا تمامًا أم لا عبر استعلام sha256sum.

بعد ذلك ، نحتاج إلى تثبيت ملف Bash الذي تم تنزيله من anaconda في نظامنا باستخدام تعليمات 'Bash' واسم الملف على وحدة التحكم نفسها. لقد طلبت منا مراجعة اتفاقية الترخيص قبل التثبيت. لذلك ، نقرنا على 'إدخال' للمتابعة.

بعد الاطلاع على اتفاقية الترخيص الخاصة به ، يطلب منا النقر على 'نعم' إذا وافقنا على الشروط. يجب عليك الضغط على Enter لمواصلة تثبيته في نفس المكان أو كتابة المسار إلى الدليل حيث تريد تثبيته. خلاف ذلك ، استخدم 'Ctrl-c' لإلغاء التثبيت.

سيتم عرض قائمة طويلة من الحزم التي سيتم تثبيتها في هذه العملية. بعد تنفيذ بعض المعاملات ، سيبدأ تثبيت الحزم.

بعد فترة ، تم تثبيت الأناكوندا بنجاح مع حزمها الإضافية.

تحتاج إلى تشغيل ملف 'التنشيط' من مجلد الأناكوندا عبر استعلام 'المصدر' كجذر.

حاول تشغيل متصفح الأناكوندا باستخدام الاستعلام التالي.

لإنشاء بيئة conda الجديدة والعمل عليها ، جرب تعليمات 'conda create' بخيار الاسم متبوعًا باسم البيئة الجديد ، أي PyCPU.

تتطلب هذه العملية تأكيدنا على إنشاء البيئة الجديدة. اضغط على 'y'.

لتنشيط وتشغيل بيئة conda التي تم إنشاؤها حديثًا ، استخدم استعلام 'تنشيط conda' باسم بيئتك الجديدة ، على سبيل المثال ، تم تنشيط بيئة PyCPU الآن.

الخطوة 09: قم بتثبيت Spyder IDE

يجب تثبيت Spyder IDE في هذه البيئة لتنفيذ برامج Python. لهذا ، جربنا استعلام تثبيت conda في بيئة بيئة PyCPU بالكلمة الأساسية 'spyder'.

اضغط على 'y' لمواصلة تثبيت سبايدر.

الخطوة 10: قم بتثبيت مكتبة Pandas and Keras

بعد تثبيت Spyder ، قم بتثبيت مكتبة Python الخاصة بالباندا في بيئة أناكوندا باستخدام استعلام تثبيت conda مع الخيار –c.

مرة أخرى ، اضغط على زر 'y' للمتابعة.

بعد التكوين الناجح للباندا ، قم بتثبيت مكتبة Keras بنفس الاستعلام.

تابع بعد النقر على زر 'y'.

يمكنك تشغيل Spyder IDE داخل وحدة التحكم في بيئة Anaconda الحالية على النحو التالي:

يستعد Spyder IDE للإطلاق.

تم وضع المجلد المخفي '.keras' في الدليل الرئيسي. قم بإظهاره وافتح ملف 'keras.json' الخاص به لإضافة التكوينات التالية فيه.

قم بإعداد Keras و TensorFlow على Windows

لإعداد Keras و TensorFlow في بيئة Windows ، عليك التأكد من أن لغة Python مع مكتبة 'pip' وأن Anaconda Navigator قد تم إعدادهما عليها بالفعل. بعد إعداده ، يجب أن تفتحه من منطقة البحث وتتنقل ضمن علامة التبويب 'البيئات'. في علامة التبويب هذه ، ستجد اسم البيئة التي تعمل بها حاليًا ، أي القاعدة. في المنطقة أدناه ، ستجد علامة التبويب التالية. اضغط على خيار 'إنشاء'.

هنا ، يجب عليك إنشاء اسم بيئة جديد 'TensorFlow' ، أي أنه موجود حاليًا داخل البيئة الأساسية. حدد أحدث إصدار من Python لاستخدامه وانقر على زر 'إنشاء' للمتابعة.

سترى أن البيئة قد بدأت في التحميل.

بعد فترة ، يتم تثبيت بيئة TensorFlow بالكامل.

من أقصى اليسار ، يمكنك رؤية جميع المكتبات والوحدات النمطية المثبتة والمتاحة لـ Python ، كما هو موضح أدناه:

الآن ، نحتاج إلى تثبيت مكتبة TensorFlow الخلفية لبايثون باستخدام هذه المنطقة. في شريط البحث ، اكتب 'TensorFlow' وحدد حزمة الحالة نفسها من القائمة المعروضة لتثبيتها. اضغط على زر 'تطبيق' لمتابعة تثبيت TensorFlow مع وحداته الفرعية مثل 'Keras'.

لقد بدأت في العمل وتهيئة TensorFlow في بيئة Anaconda الخاصة بنا.

أثناء التثبيت ، سيعرض قائمة الحزم الفرعية التي سيتم تثبيتها في بيئة Anaconda. ربّت على زر 'تطبيق' وانتظر لفترة حتى تنتهي.

بعد فترة ، ستجد جميع الحزم المثبتة في نفس منطقة الوحدات. يمكنك أن ترى أن مكتبة Keras قد تم تثبيتها مع حزم أخرى ولا يتعين علينا تثبيتها الآن.

من شريط Windows Search ، ابحث عن الكلمة الأساسية 'Jupyter'. سيتم عرض التطبيق المسمى 'Jupyter Notebook (TensorFlow)' مع التطبيقات الأخرى. اضغط عليها لتشغيل jupyter Notebook مع تمكين TensorFlow الخلفية. قم بإنشاء ملف Python جديد وابدأ العمل.

التعلم العميق عن طريق الصعب

يتضمن التعلم العميق تحليل المدخول على أساس طبقة تلو الأخرى ، حيث تقوم كل طبقة تدريجياً باستخراج تفاصيل المستوى المتقدم من المدخلات. يتم توفير إطار عمل كامل بواسطة Keras لتشكيل أي نوع من الشبكات العصبية. كلاهما مبدع وسهل الفهم بشكل لا يصدق ، كيراس. إنه يُمكّن نماذج الشبكات العصبية التي تتراوح من أكثرها سذاجة إلى أكبرها وأعلىها.

الشبكة العصبية الاصطناعية (ANN)

يبدو أن منهجية 'الشبكة العصبية الاصطناعية' (ANN) هي الطريقة الأساسية والأكثر استخدامًا للتعلم العميق. إنهم يأخذون إشاراتهم من العقل البشري ، المكون الطبيعي الأكثر تعقيدًا في أجسامنا ، والذي يعمل كنموذج لهم. أكثر من 90 مليار خلية مجهرية تسمى 'الخلايا العصبية' تشكل دماغ الفرد. المحاور والتشعبات هي أنواع من الألياف العصبية التي تربط الخلايا العصبية معًا. تتمثل الوظيفة الأساسية للمحور العصبي في إرسال البيانات من خلية عصبية مرتبطة إلى أخرى. لمزيد من المعلومات ، يرجى البحث من محرك بحث Google.

الهندسة المعمارية كيراس

تم تصنيف بنية Keras API إلى ثلاثة أجزاء رئيسية مذكورة أدناه. دعونا نتخيل كل واحد على حدة.

  • نموذج
  • طبقة
  • وحدات أساسية

النموذج الصلب

يتكون نموذج Keras من نوعين بالضبط ، أي واجهة برمجة التطبيقات المتسلسلة والوظيفية.

النموذج المتسلسل

في الأساس ، النموذج المتسلسل هو تجميع كرونولوجي لطبقات Keras. يمكن للنموذج التسلسلي البسيط المبسط أن يصف تقريبًا جميع الشبكات العصبية المستخدمة حاليًا. يمكن عمل نموذج مخصص باستخدام فئة النموذج التي يكشف عنها النموذج التسلسلي. يمكن استخدام نهج التصنيف الفرعي لبناء نموذج معقد خاص بنا. تم تقديم العرض التوضيحي للنموذج المتسلسل أدناه.

أضف طبقات

بدأ البرنامج النصي من استيراد الوضع التسلسلي عبر نماذج keras.models والخط الآخر يقوم بإنشاء نموذج تسلسلي. بعد ذلك ، يؤدي استيراد الطبقة الكثيفة إلى إنشاء طبقة إدخال وإضافة طبقة إدخال إلى النموذج. تم إنشاء الطبقة الكثيفة المخفية وإضافتها إلى النموذج وتم تنفيذ نفس الشيء للطبقة الكثيفة الناتجة.

الوصول إلى النموذج

يمكنك الحصول على معلومات تتعلق بطبقات النموذج الخاص بك ، وبيانات الإدخال التي كانت تستخدمها ، وبيانات الإخراج الخاصة به. تتيح لك وظيفة model.layers الوصول إلى جميع الطبقات. سيعرض model.inputs موترات الإدخال ، وسيعرض model.output موترات الإخراج.

تسلسل النموذج

من السهل إرجاع النموذج المستخدم في البرنامج النصي كعنصر أو JSON. على سبيل المثال ، تعطي الدالة get_config () النموذج ككيان / كائن. تُنشئ الدالة from_config () نموذجًا جديدًا باستخدام الكائن كقيمة معلمية.

يمكنك أيضًا تغيير نموذجك إلى JSON باستخدام وظيفة to_json ().

ملخص نموذج

للحصول على الملخص الكامل للطبقات المستخدمة داخل النموذج مع بعض المعلومات الإضافية ، قم باستدعاء وظيفة الملخص ().

تدريب وتوقع النموذج

للتدريب والتنبؤ ، يجب أن نستخدم وظيفة الترجمة ، ووظيفة الملاءمة ، وتقييم الوظيفة ، والتنبؤ بالوظيفة في هذا الصدد.

طبقات صلبة

تتوافق كل طبقة إدخال وإخفاء وعائد في النموذج المقترح للشبكات العصبية مع طبقة Keras مختلفة في النموذج الحقيقي. يمكن تطوير أي شبكة عصبية متطورة بسرعة باستخدام الكثير من الطبقات المبنية مسبقًا في مكتبة Keras. هناك طبقات Keras مختلفة لدينا ، على سبيل المثال ، الطبقات الأساسية ، وطبقات التجميع ، والطبقات المتكررة ، وطبقات الالتواء. يمكنك دراستها من خلال البحث على شبكة الإنترنت. يستورد أول سطرين وضع التسلسل وطبقة الكثافة والتنشيط والإسقاط.



لقد كنا نحاول API التسلسلي لإنشاء نموذج تسلسلي متسرب. من خلال التخلص من نموذج التنشيط 'relu' ، نكون قد أنشأنا طبقة كثيفة عبر واجهة برمجة التطبيقات 'Dense'. لتلبية الإفراط في تركيب الطبقة الكثيفة ، كنا نستخدم Dropout () API ، أي طبقات التسرب عبر وظيفة dropout (). بعد ذلك ، استخدمنا هنا طبقة أكثر كثافة مع نموذج التنشيط 'relu'. للتعامل مع الطبقات الكثيفة من الإفراط في التركيب ، يتعين علينا الاستفادة من طبقات Dropout. في النهاية ، كنا نطرح طبقاتنا الكثيفة النهائية باستخدام نموذج تنشيط النوع 'softmax'.







هل سبق لك أن قمت بعمل طبقات أثناء الطهي؟ إذا كان الأمر كذلك ، فلن يكون من الصعب عليك فهم هذا المفهوم. ستكون نتيجة المستوى الواحد بمثابة بيانات الإدخال للطبقة التالية. فيما يلي الأشياء الأساسية المطلوبة لبناء طبقة جديدة بالكامل:



  • شكل بيانات الإدخال
  • مجموع الخلايا العصبية / الوحدات في طبقة
  • المبدئ
  • المنظمون
  • القيود
  • التنشيط

شكل بيانات الإدخال

في لغة بايثون ، تم تحويل كل نوع من المدخلات إلى مصفوفة من الأعداد الصحيحة ثم أضيفت إلى نموذج الخوارزمية. داخل Python ، نحتاج إلى تحديد شكل الإدخال للحصول على الإخراج وفقًا لمتطلباتنا. في الأمثلة التالية ، حددنا شكل الإدخال (3،3) ، أي 3 صفوف و 3 أعمدة. تم عرض الإخراج المصفوفة.







المبدئ

توفر لنا وحدة التهيئة في Keras Layers العديد من الوظائف لتحديد وزن معين لبيانات الإدخال. على سبيل المثال ، تحدد وظيفة الأصفار () 0 للجميع ، وتحدد الآحاد () للجميع ، وستحدد الوظيفة الثابتة () قيمة ثابتة محددة يضيفها المستخدم للجميع وأكثر. من أجل فهم أفضل ، استخدمنا وظيفة Identity () لإنشاء مصفوفة هوية. يمكن البحث عن باقي الوظائف أيضًا من محرك البحث.



القيود

هناك وظائف قيد مختلفة متاحة لتطبيق قيود على معلمة 'الوزن' للطبقة ، أي غير سالب ، ومعيار الوحدة ، ومعيار max ، و minmaxnorm ، وغير ذلك الكثير. في الرسم التوضيحي التالي ، طبقنا معيار القيد أقل من أو يساوي الوزن. معلمة 'max_value' هي الحد الأعلى للقيد الذي سيتم تطبيقه والمحور هو البعد الذي سيتم تطبيق القيد عليه ، أي البعد 1.

المنظمون

خلال التحسين ، فإنه يفرض رسومًا مختلفة على خاصية الطبقة. كما ظهرت مع بعض الوظائف للقيام بذلك ، مثل منظم L1 ، و L2 منتظم ، و 'LI and L2' منتظم. فيما يلي أبسط توضيح لوظيفة منظم L1:

التنشيط

يتم استخدام وظيفة فريدة تسمى وظيفة التنشيط لتحديد ما إذا كانت خلية عصبية معينة نشطة أم لا. تعمل وظيفة التنشيط على تحويل البيانات الواردة بطريقة معقدة ، مما يساعد الخلايا العصبية على الدراسة بشكل أكثر فعالية. فيما يلي العديد من طرق التنشيط المعروضة في الأمثلة الواردة أدناه:

الوحدات الصلبة

كما نعلم أن وحدات البرمجة عادة ما تحتوي على وظائف وفئات ومتغيرات لاستخدامها لأغراض مختلفة ومحددة. تمامًا مثل ذلك ، تحتوي مكتبة Keras في Python على العديد من الوحدات النمطية فيها. يمكنك الحصول على كل المعرفة المطلوبة حول وحدات Keras من الويب.

الخلفية

واحدة من أكثر الوحدات شهرة واستخدامًا هي الوحدة النمطية 'Backend' التي تم تصميمها لاستخدام مكتبات الخلفية في Python مثل TensorFlow و Theano. باستخدام وحدة الواجهة الخلفية ، يمكننا استخدام أكبر عدد ممكن من وظائف الواجهة الخلفية من مكتبة TensorFlow و Theano. لاستخدام وحدة مكتبة الواجهة الخلفية ، نحتاج إلى تحديد مكتبة الواجهة الخلفية لاستخدامها في ملف التكوين 'keras.json ، الذي أنشأناه في مجلد keras المخفي. بشكل افتراضي ، تم تحديد الواجهة الخلفية كـ 'TensorFlow' ، ولكن يمكنك تغييرها إلى أخرى أيضًا ، مثل Theano أو CNTK.

في مثالنا ، سنستخدم مكتبة TensorFlow كخلفية. لتحميل تكوينات الواجهة الخلفية من ملف keras.json لمجلد 'keras' الجذر ، استخدم:

  • من keras استيراد الخلفية كـ k

بعد استيراد الواجهة الخلفية بنجاح من ملف keras.json ، حان الوقت للحصول على معلومات الواجهة الخلفية باستخدام المتغير 'k' مع المتغير المطلوب جلبه. أولاً ، كنا نحضر اسم الواجهة الخلفية التي استخدمناها واستوردناها بالفعل باستخدام وظيفة 'backend ()'. تقوم بإرجاع 'Tensorflow' كقيمة الواجهة الخلفية. للحصول على قيمة الطفو للواجهة الخلفية ، قمنا باستدعاء الدالة floatx () عبر الكائن المتغير 'k' في Keras. إنه يوضح أننا كنا نستخدم قيمة float32.

للحصول على تنسيق بيانات الصورة ، استخدم الدالة image_Data_format () مع المتغير 'k'. عند استخدامه ، يظهر أن الواجهة الخلفية الخاصة بنا كانت تستخدم تنسيق بيانات الصورة 'channels_last'. للحصول على قوة الأس للخلفية ، اتصل بوظيفة epsilon () باستخدام المتغير 'k'. يعيد أن الواجهة الخلفية ستستخدم القوة الأسية لـ '07'. هذا كل شيء عن جلب المعلومات الخلفية.

دالة Get_uid ()

حان الوقت لإلقاء نظرة على بعض وظائف الواجهة الخلفية لـ TensorFlow لفهم وظائفها. إحدى وظائف الواجهة الخلفية الأكثر استخدامًا هي وظيفة 'get_uid () التي يتم استخدامها لتحديد الرسم البياني الافتراضي الذي كنا نستخدمه. سيؤدي استخدامه مع البادئة = '' إلى إرجاع '1' ، أي حسب الاستخدام. مرة أخرى ، سيؤدي استخدامه إلى إرجاع '2' كما كنا نسميه مرة أخرى وقد تمت زيادة قيمة الرسم البياني. بعد استخدام وظيفة 'reset_uids' ، ستتم إعادة تعيين قيمة معرّف مستخدم الرسم البياني إلى 0. ومن ثم ، فإن استخدام وظيفة get_uid () مرة أخرى سيزيدها بمقدار 1.

العنصر النائب () الوظيفة

يستخدم الموتر الدالة placeholder () للاحتفاظ بأشكال أبعاد مختلفة بداخله. على سبيل المثال ، في الرسم التوضيحي التالي ، استخدمناه للاحتفاظ بالصورة ثلاثية الأبعاد في موتر عبر متغير Keras 'k' وحفظها في متغير آخر 'd'. يُظهر ناتج المتغير 'd' خصائص الشكل المستخدم داخل العنصر النائب.

تُستخدم وظيفة 'int_shape ()' لعرض شكل القيمة المحفوظة في العنصر النائب 'd'.

وظيفة النقطة ()

هل سبق لك أن ضربت اثنين من النواقل؟ إذا كان الأمر كذلك ، فلن يكون من الصعب عليك مضاعفة موترين. لهذا ، جاءت مكتبة الواجهة الخلفية بوظيفة 'النقطة'. أولاً ، للاحتفاظ بالشكلين المختلفين ، استخدمنا قيم الشكل في وظيفة العنصر النائب () في أول سطرين لإنشاء حاملين 'x' و 'y'. تستخدم الدالة dot () حوامل 'x' و 'y' لمضاعفة كل من الموترات وحفظ النتيجة في متغير آخر 'z'. عند استخدام موتر 'z' للطباعة ، فإنه يعرض شكل الموتر الناتج المضاعف (1 ، 5) على الشاشة.

وظيفة () الآحاد

عُرفت وظيفة one () للوحدة الخلفية بتهيئة جميع قيم شكل معين إلى 1. على سبيل المثال ، استخدمنا الدالة one () في شكل الموتر (3،3) وحفظ النتيجة في المتغير 'v'. تم طرح الدالة EVAL () هنا لتقييم قيمة المتغير 'v' وعرضها في بيئة Python. في المقابل ، قام بتحويل الشكل (3،3) إلى مصفوفة مصفوفة لجميع تلك التي تحتوي على نوع بيانات float32.

دالة Batch_dot ()

ستحدد دفعة الموتر العينات الإجمالية للفرز قبل تحديث النموذج. تُستخدم الدالة batch_dot () لخلفية TensorFlow بشكل أساسي لمعرفة نتيجة الضرب لبيانات دُفعات مختلفة. لذلك ، أنشأنا متغيرين موترين v1 و v2 واستخدمنا وظيفة الإدخال () لحفظهما في v1 و v2 كمدخلات. بعد ذلك ، حاولنا استخدام الدالة batch_dot () على متغيري الموتر ، v1 و v2 ، وسيتم حفظ القيمة الناتجة في متغير آخر 'v3'. عند طباعة المتغير v3 ، وجدنا في المقابل الشكل الناتج (2،2).

وظيفة متغيرة

إذا سبق لك العمل على أي لغة أخرى ، فربما تكون قد قمت بتهيئة العديد من المتغيرات باستخدام الكلمة الأساسية 'var' أو بدونها. في كثير من الأحيان ، ربما تكون قد قمت بتهيئة المتغيرات بأنواع بياناتها مثل عدد صحيح أو سلسلة أو حرف. داخل مكتبة Python Keras ، يمكننا إنشاء أي متغير باستخدام وظيفة المتغير () في بعض بيانات الموتر في شكل عينات.

في الصورة التالية ، أنشأنا متغيرًا 'd' عن طريق إضافة عينة بيانات القائمة الثانية إلى دالة متغير () باستخدام كائن Keras 'k'. بعد إضافة هذا المتغير ، قمنا باستدعاء دالة Transpose () على هذا المتغير 'd' لمعرفة تبديل عينة بيانات بداخله عبر كائن Keras 'k'. سيتم حفظ التحويل الناتج إلى 'val' متغير. تم استخدام بيان الطباعة الخاص بلغة بايثون هنا لطباعة قيمة المتغير الناتج 'val'. تعرض عبارة print اختيار الوظيفة التي طبقناها على المتغير 'd' والعدد الإجمالي للعناصر في كل قائمة.

بعد ذلك ، جربنا وظيفة 'EVAL' في المتغير 'val' للحصول على تبديل العينات المضافة إلى المتغير 'd' وكانت وظيفة الطباعة تعرضه. يمكنك رؤية تبديل قائمتين في الإخراج.

تم تحقيق الرسم التوضيحي السابق عن طريق استخدام وظائف Python البسيطة دون استيراد أي مكتبة Python معينة. يمكن العثور على 'تبديل' مجموعتين من البيانات باستخدام مصفوفات NumPy. لهذا ، نحتاج إلى استيراد مكتبة NumPy كـ 'n' في البداية. التنسيق الأساسي هو نفسه ، لكننا نحتاج إلى تهيئة مجموعة بيانات الشكل باستخدام الكلمة الأساسية 'المصفوفة' بدلاً من استخدام الكلمة الأساسية 'المتغيرة'. يجب الاحتفاظ بعينة مصفوفة NumPy إلى المتغير 'd'. يتم استخدام نفس كائن NumPy 'n' لاستدعاء دالة Transpose () في المتغير 'd' وحفظ نتيجتها في المتغير 'val'.

يقوم بيان print باستدعاء متغير 'val' فيه لعرض موتر تبديل الموتر الخاص به. يمكنك أن ترى ، لعرض القيمة المحولة الناتجة لمتغير 'val' ، لا نحتاج إلى وظيفة 'Eval' هنا. الآن ، استخدمنا الدالة المتغيرة مع المتغير 'd' وحفظنا النتيجة في المتغير 'z'. بعد تجربة جملة print عن طريق إضافة قيمة الوسيطة 'z' فيها ، عرضت المخرجات بنفس التنسيق السابق الذي جربناه في مثال المتغير أعلاه.

دالة Is_sparse ()

يتم استخدام كلمة 'متفرق' في موتر لموتّر متناثر يحتوي على إدخالات تحتوي على أصفار في الغالب. في هذا المثال ، سنستخدم الدالة is_sparse () لوحدة الواجهة الخلفية للتحقق مما إذا كان الموتر يحتوي على معظم الأصفار أم لا.

أولاً ، كنا نستدعي الدالة placeholder () للاحتفاظ بشكل الموتر (3،3) جنبًا إلى جنب مع الوسيطة Sparse مضبوطة على true. سيتم الاحتفاظ بقيمة العنصر النائب هذا إلى 'x' القابل للتغيير وعرضه. تم عرض المخرجات المعلومات المتعلقة بالمتغير النائب 'x'.

على سبيل المثال ، يتم تطبيق نوع بياناته وشكله ووظيفته عليه. بعد ذلك ، جربنا تعليمة print مرة أخرى باستدعاء الدالة is_Sparse () فيها. تستخدم هذه الوظيفة المتغير 'x' كوسيطة لعرض ما إذا كان موتر 'x' متفرقًا أم لا. يعرض الإخراج 'صحيح'.

دالة التكثيف ()

يُقال إن الموتر الكثيف هو الذي استخدم الكتلة الزمنية للذاكرة لتخزين المعلومات بطريقة متجاورة وتمثيل قيم المعلومات أيضًا. تسمح لنا وظيفة 'to_dense ()' للوحدة الخلفية بتحويل الموتر المتناثر إلى موتر كثيف. ومن ثم ، فإننا نأخذ نفس وظيفة العنصر النائب لإضافة الموتر إلى 'x' المتغير وقد تم تعيين هذا الموتر على 'متفرق'.

يتم تطبيق وظيفة 'to_dense ()' على متغير موتر الكثافة 'x' ، أي لتحويله إلى موتر كثيف وحفظه في متغير آخر 'res'. الآن ، 'الدقة' هي موتر كثيف بحد ذاته. تم استبعاد جملة print لطباعة المتغير 'res'. عرض استخدام عبارات الطباعة للمتغير 'res' المعلومات المتعلقة بالمتغير المحول 'res' ، أي ، تم تحويله بنجاح إلى القليل إلى كثيف وغير ذلك الكثير.

بعد ذلك ، يتم استدعاء وظيفة طباعة أخرى باستخدام دالة is_sparse () فيها للتحقق مما إذا كان المتغير “res” متفرقًا أم لا. لقد أظهر الناتج أن المتغير 'res' ليس متفرقًا ، أي أننا قمنا بتحويله إلى موتر 'كثيف' بالفعل.

دالة Random_uniform_variable ()

تم تصميم وظيفة random_uniform_variable () في وحدة الواجهة الخلفية Keras خصيصًا لتهيئة موتر عبر التوزيع المنتظم. يستغرق ما مجموعه ثلاث حجج. يتم استخدام الوسيطة الأولى 'شكل' لتحديد صفوف وأعمدة الشكل داخل نموذج المجموعة. إذا كنت قد أتممت الرياضيات ، فربما تكون قد تعلمت مفهوم الانحراف المعياري والمتوسط.

في طريقة random_uniform_variable () ، تكون الوسيطتان التاليتان هما الانحراف المتوسط ​​والنمطي عن التوزيع المنتظم. ضمن هذا الرسم التوضيحي ، قمنا بتهيئة اثنين من الموترات 'x' و 'y' باستخدام التوزيع الموحد القياسي عبر دالة random_uniform_variable (). يحتوي كل من الموترات على تنسيقات أشكال مختلفة ، أي الصفوف والأعمدة بنفس المتوسط ​​والانحراف المعياري ، أي منخفض = 0 ، وارتفاع = 1.

بعد ذلك ، نطرح الدالة 'النقطة' ونأخذ موترات 'x' و 'y' فيها من أجل الضرب. سيتم حفظ نتيجة هذا الضرب في المتغير “z”. في النهاية ، يجب استخدام int_shape () لعرض شكل موتر ناتج 'z'. يظهر الإخراج موتر (2،2).

Utils

إذا كنت ترغب في استخدام بعض الوظائف المفيدة جدًا من مفهوم التعلم العميق في Python ، فيجب عليك استخدام الوحدة النمطية لمكتبة Keras في البرامج النصية الخاصة بك. على سبيل المثال ، إذا كنت ترغب في عرض بياناتك بتنسيق HDF5Matrix ، فأنت بحاجة إلى استيراد فئة HDF5Matrix واستخدام وظيفة HDF5Matrix الخاصة بها في البرنامج النصي.

دالة To_categorical ()

تتيح لك هذه الوظيفة تعديل متجه فئة إلى مصفوفة ، أي مصفوفة فئة ثنائية. دعنا نقول ، لقد قمنا باستيراد الدالة to_categorical () من وحدة utils وقمنا بتهيئة المتجه 'A'. تم تمرير المتجه 'A' إلى الدالة to_categorical (). تم عرض المصفوفة الثنائية لمتجه الفئة هذا 'A'.

print_summary () الوظيفة

لطباعة ملخص النموذج الذي كنا نطرحه في بيئتنا ، تم استخدام وظيفة print_summary.

الدالة plot_model ()

تشير الوظيفة plot_model () إلى النموذج بتنسيق نقطي وتتيح لك حفظه في مستند.

استنتاج

باختصار ، يمكننا القول أن لغة بايثون هي لغة ضرورية لعصر اليوم حيث أن كل شيء يسير بسرعة والتكنولوجيا تتطور بسرعة جنونية. خلال إرشادات التعلم هذه ، كنا على دراية باستخدام مكتبة Python’s Keras في التعلم العميق والشبكات العصبية الاصطناعية. لهذا ، قمنا أيضًا بمراجعة أهمية واستخدام مكتبة الخلفية 'TensorFlow' للحصول على فهم واضح. بالإضافة إلى ذلك ، ناقشنا وشرحنا كل تكوين مطلوب لإعداد بيئة Keras و Anaconda في Python ضمن نظام التشغيل Ubuntu 20.04 Linux. بعد ذلك ، ناقشنا بدقة نماذج Keras ، والطبقات ، والوحدات واحدة تلو الأخرى جنبًا إلى جنب مع وظائفها الأكثر استخدامًا. لعرض نموذج الوظيفة API ، يرجى التحقق من الوثائق الرسمية.