التعلم العميق (Pytorch) - ND101 V7
يحتوي هذا المستودع على مواد تتعلق ببرنامج التعلم العميق لـ Udacity V7 Nanodegree. وهو يتألف من مجموعة من أجهزة الكمبيوتر المحمولة التعليمية لمختلف موضوعات التعلم العميق. في معظم الحالات ، تقودك دفاتر الملاحظات من خلال تنفيذ نماذج مثل الشبكات التلافيفية والشبكات المتكررة و Gans. هناك مواضيع أخرى مغطاة مثل تهيئة الوزن وتطبيع الدُفعات.
هناك أيضًا دفاتر ملاحظات تستخدم كمشاريع لبرنامج Nanodegree. في البرنامج نفسه ، تتم مراجعة المشاريع من قبل Real People (مراجعو Udacity) ، ولكن رمز البداية متاح هنا أيضًا.
جدول المحتويات
دروس
مقدمة للشبكات العصبية
- مقدمة في الشبكات العصبية: تعلم كيفية تنفيذ نزول التدرج وتطبيقه على التنبؤ بالأنماط في بيانات قبول الطلاب.
- تحليل المشاعر مع Numpy: يقودك Andrew Trask من خلال بناء نموذج تحليل المشاعر ، والتنبؤ بما إذا كان بعض النص موجبًا أو سلبيًا.
- مقدمة إلى Pytorch: تعرف على كيفية بناء الشبكات العصبية في Pytorch واستخدام الشبكات التي تم تدريبها مسبقًا لمصنفات الصور الحديثة.
الشبكات العصبية التلافيفية
- الشبكات العصبية التلافيفية: تصور إخراج الطبقات التي تشكل CNN. تعرف على كيفية تحديد وتدريب CNN لتصنيف بيانات MNIST ، وهي قاعدة بيانات أرقام مكتوبة بخط اليد والتي تشتهر في مجالات الماكينة والتعلم العميق. أيضًا ، حدد وتدريب CNN لتصنيف الصور في مجموعة بيانات CIFAR10.
- نقل التعلم. في الممارسة العملية ، لا يدرب معظم الناس شبكاتهم الخاصة على مجموعات البيانات الضخمة ؛ يستخدمون الشبكات التي تم تدريبها مسبقًا مثل VGGNET. هنا ستستخدم VGGNET للمساعدة في تصنيف صور الزهور دون تدريب شبكة شاملة من نقطة الصفر.
- تهيئة الوزن: استكشف كيف تؤثر تهيئة أوزان الشبكة على الأداء.
- أجهزة الترميز التلقائي: بناء نماذج لضغط الصور وإزالة الضوضاء ، باستخدام شبكات Feedforward و Tennology في Pytorch.
- نقل النمط: استخراج ميزة النمط وميزات المحتوى من الصور ، باستخدام شبكة تم تدريبها مسبقًا. قم بتنفيذ نقل النمط وفقًا للورقة ، ونقل نمط الصور باستخدام الشبكات العصبية التلافيفية بواسطة Gatys ET. آل. حدد الخسائر المناسبة لإنشاء صورة مستهدفة ونمطية لتصميمك بشكل تكراري!
الشبكات العصبية المتكررة
- مقدمة للشبكات المتكررة (السلسلة الزمنية ومستوى الأحرف): الشبكات العصبية المتكررة قادرة على استخدام معلومات حول تسلسل البيانات ، مثل تسلسل الأحرف في النص ؛ تعلم كيفية تنفيذ هذه في Pytorch لمجموعة متنوعة من المهام.
- التضمينات (Word2Vec): قم بتنفيذ نموذج Word2VEC للعثور على تمثيلات دلالية للكلمات للاستخدام في معالجة اللغة الطبيعية.
- تحليل المشاعر RNN: تنفيذ شبكة عصبية متكررة يمكن أن تتنبأ بما إذا كان نص مراجعة Moview إيجابية أو سلبية.
- الانتباه: تنفيذ الانتباه وتطبيقه على متجهات التعليقات التوضيحية.
شبكات الخصومة التوليدية
- شبكة الخصومة التوليدية على MNIST: تدريب شبكة عدوانية بسيطة على مجموعة بيانات MNIST.
- تطبيع الدُفعات: تعلم كيفية تحسين معدلات التدريب واستقرار الشبكة مع تطبيع الدُفعات.
- GAN Condularal GAN (DCGAN): قم بتنفيذ DCGAN لإنشاء صور جديدة بناءً على مجموعة بيانات أرقام منزل View View (SVHN).
- Cyclegan: قم بتنفيذ cyclegan مصمم للتعلم من البيانات غير المقيدة وغير المسماة ؛ استخدم المولدات المدربة لتحويل الصور من الصيف إلى الشتاء والعكس بالعكس.
نشر نموذج (مع AWS Sagemaker)
- يمكن العثور على جميع أجهزة الكمبيوتر المحمولة للمشروعات والمشروع للدروس في نشر النموذج في REPO المرتبطة. تعلم كيفية نشر النماذج التي تم تدريبها مسبقًا باستخدام AWS Sagemaker.
المشاريع
- التنبؤ بأنماط مشاركة الدراجات: تنفيذ شبكة عصبية في Numpy للتنبؤ بتأجير الدراجات.
- مصنف سلالة الكلاب: قم ببناء شبكة عصبية تلافيفية مع Pytorch لتصنيف أي صورة (حتى صورة للوجه) كسلالة كلب محددة.
- توليد البرنامج النصي التلفزيوني: قم بتدريب شبكة عصبية متكررة لإنشاء البرامج النصية بأسلوب الحوار من سينفيلد.
- توليد الوجه: استخدم DCGAN على مجموعة بيانات Celeba لإنشاء صور لوجوه إنسانية جديدة وواقعية.
المواد الاختيارية
- مقدمة إلى TensorFlow: بدء بناء الشبكات العصبية مع TensorFlow.
- Keras: تعلم بناء شبكات عصبية وشبكات عصبية تلافيفية مع Keras.
التبعيات
تكوين وإدارة بيئتك مع Anaconda
لكل مستندات أناكوندا:
Conda هو نظام إدارة الحزم مفتوح المصدر ونظام إدارة البيئة لتثبيت إصدارات متعددة من حزم البرامج وتبعياتها والتبديل بينهما بسهولة. إنه يعمل على Linux و OS X و Windows ، وتم إنشاؤه لبرامج Python ولكن يمكنه حزم وتوزيع أي برنامج.
ملخص
باستخدام Anaconda يتكون من ما يلي:
- قم بتثبيت
miniconda على جهاز الكمبيوتر الخاص بك ، عن طريق تحديد أحدث إصدار Python لنظام التشغيل الخاص بك. إذا قمت بالفعل بتثبيت conda أو miniconda ، فيجب أن تكون قادرًا على تخطي هذه الخطوة والانتقال إلى الخطوة 2. - إنشاء وتفعيل * بيئة
conda جديدة.
* في كل مرة ترغب في العمل على أي تمارين ، قم بتنشيط بيئة conda الخاصة بك!
1. التثبيت
قم بتنزيل أحدث إصدار من miniconda الذي يطابق نظامك.
| Linux | ماك | النوافذ |
|---|
| 64 بت | 64 بت (مثبت باش) | 64 بت (مثبت باش) | 64 بت (مثبت exe) |
| 32 بت | 32 بت (مثبت باش) | | 32 بت (مثبت exe) |
تثبيت miniconda على جهازك. تعليمات مفصلة:
- Linux: https://conda.io/projects/conda/en/latest/user-guide/install/linux.html
- Mac: https://conda.io/projects/conda/en/latest/user-guide/install/macos.html
- Windows: https://conda.io/projects/conda/en/latest/user-guide/install/windows.html
2. إنشاء وتفعيل البيئة
بالنسبة لمستخدمي Windows ، يجب تنفيذ هذه الأوامر التالية من مطالبة Anaconda بدلاً من نافذة Windows Terminal. بالنسبة إلى MAC ، ستعمل نافذة الطرفية العادية.
GIT والتحكم في الإصدار
تفترض هذه الإرشادات أيضًا أنك قمت بتثبيت git للعمل مع Github من نافذة طرفية ، ولكن إذا لم تفعل ذلك ، فيمكنك تنزيل ذلك أولاً مع الأمر:
إذا كنت ترغب في معرفة المزيد عن التحكم في الإصدار واستخدام git من سطر الأوامر ، فقم بإلقاء نظرة على الدورة المجانية: التحكم في الإصدار باستخدام GIT.
الآن ، نحن على استعداد لإنشاء بيئتنا المحلية!
- استنساخ المستودع ، وانتقل إلى المجلد الذي تم تنزيله. قد يستغرق هذا دقيقة أو دقيقتين لاستنساخ بسبب بيانات الصورة المضمنة.
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
cd deep-learning-v2-pytorch
قم بإنشاء (وتفعيل) بيئة جديدة ، تسمى deep-learning مع Python 3.6. إذا طُلبت من المتابعة مع التثبيت (Proceed [y]/n) النوع y.
conda create -n deep-learning python=3.6
source activate deep-learning
conda create --name deep-learning python=3.6
activate deep-learning
في هذه المرحلة ، يجب أن يبدو سطر الأوامر الخاص بك مثل: (deep-learning) <User>:deep-learning-v2-pytorch <user>$ يشير (deep-learning) إلى أن بيئتك قد تم تنشيطها ، ويمكنك المتابعة مع مزيد من عمليات تثبيت الحزم.
تثبيت pytorch و torchvision. هذا يجب تثبيت أحدث إصدار من Pytorch.
conda install pytorch torchvision -c pytorch
conda install pytorch -c pytorch
pip install torchvision
قم بتثبيت عدد قليل من حزم PIP المطلوبة ، والتي يتم تحديدها في ملف نصي المتطلبات (بما في ذلك OPENCV).
pip install -r requirements.txt
- هذا كل شيء!
الآن تتوفر لك معظم مكتبات deep-learning . في بعض الأحيان ، سترى مستودعًا مع ملف متطلبات إضافة ، والذي يوجد في حالة استخدام TensorFlow و Keras ، على سبيل المثال. في هذه الحالة ، يتم تشجيعك على تثبيت مكتبة أخرى على بيئتك الحالية ، أو إنشاء بيئة جديدة لمشروع معين.
الآن ، على افتراض أن بيئة deep-learning لا تزال يتم تنشيطها ، يمكنك الانتقال إلى الريبو الرئيسي والبدء في النظر إلى دفاتر الملاحظات:
cd
cd deep-learning-v2-pytorch
jupyter notebook
للخروج من البيئة عند إكمال جلسة عملك ، ما عليك سوى إغلاق نافذة الطرفية.