أمثلة على TensorFlow
تم تصميم هذا البرنامج التعليمي للغوص بسهولة في TensorFlow، من خلال الأمثلة. لسهولة القراءة، يتضمن كلاً من أجهزة الكمبيوتر المحمولة وأكواد المصدر مع شرح لكل من TF v1 وv2.
إنها مناسبة للمبتدئين الذين يرغبون في العثور على أمثلة واضحة وموجزة حول TensorFlow. إلى جانب تطبيقات TensorFlow التقليدية "الخامة"، يمكنك أيضًا العثور على أحدث ممارسات TensorFlow API (مثل layers
estimator
dataset
...).
التحديث (16/05/2020): نقل كافة الأمثلة الافتراضية إلى TF2. للحصول على أمثلة TF v1: تحقق هنا.
مؤشر البرنامج التعليمي
0 - شرط أساسي
- مقدمة في التعلم الآلي.
- مقدمة لمجموعة بيانات MNIST.
1- مقدمة
- أهلا بالعالم (دفتر ملاحظات). مثال بسيط جدًا لتعلم كيفية طباعة "hello World" باستخدام TensorFlow 2.0+.
- العمليات الأساسية (دفتر). مثال بسيط يغطي العمليات الأساسية لـ TensorFlow 2.0+.
2- النماذج الأساسية
- الانحدار الخطي (دفتر ملاحظات). تنفيذ الانحدار الخطي باستخدام TensorFlow 2.0+.
- الانحدار اللوجستي (دفتر ملاحظات). تنفيذ الانحدار اللوجستي باستخدام TensorFlow 2.0+.
- Word2Vec (تضمين الكلمات) (دفتر ملاحظات). أنشئ نموذج تضمين الكلمات (Word2Vec) من بيانات ويكيبيديا باستخدام TensorFlow 2.0+.
- GBDT (أشجار القرار المعززة المتدرجة) (أجهزة الكمبيوتر المحمولة). تنفيذ أشجار القرار المعززة بالتدرج باستخدام TensorFlow 2.0+ للتنبؤ بقيمة المنزل باستخدام مجموعة بيانات Boston Housing.
3- الشبكات العصبية
تحت الإشراف
- الشبكة العصبية البسيطة (كمبيوتر محمول). استخدم واجهة برمجة التطبيقات "الطبقات" و"النموذج" TensorFlow 2.0 لإنشاء شبكة عصبية بسيطة لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية البسيطة (المستوى المنخفض) (الكمبيوتر المحمول). التنفيذ الأولي لشبكة عصبية بسيطة لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية التلافيفية (دفتر ملاحظات). استخدم TensorFlow 2.0+ API "الطبقات" و"النموذج" لإنشاء شبكة عصبية تلافيفية لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية التلافيفية (مستوى منخفض) (كمبيوتر محمول). التنفيذ الأولي للشبكة العصبية التلافيفية لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية المتكررة (LSTM) (كمبيوتر محمول). قم ببناء شبكة عصبية متكررة (LSTM) لتصنيف مجموعة بيانات أرقام MNIST، باستخدام واجهة برمجة التطبيقات "الطبقات" و"النموذج" TensorFlow 2.0.
- الشبكة العصبية المتكررة ثنائية الاتجاه (LSTM) (كمبيوتر محمول). إنشاء شبكة عصبية متكررة ثنائية الاتجاه (LSTM) لتصنيف مجموعة بيانات أرقام MNIST، باستخدام واجهة برمجة التطبيقات TensorFlow 2.0+ "الطبقات" و"النموذج".
- الشبكة العصبية الديناميكية المتكررة (LSTM) (كمبيوتر محمول). قم ببناء شبكة عصبية متكررة (LSTM) تقوم بإجراء عمليات حسابية ديناميكية لتصنيف التسلسلات ذات الطول المتغير، باستخدام TensorFlow 2.0+ API "الطبقات" و"النموذج".
غير خاضعة للرقابة
- التشفير التلقائي (كمبيوتر محمول). قم ببناء جهاز تشفير تلقائي لتشفير الصورة إلى بُعد أقل وإعادة بنائها.
- DCGAN (شبكات الخصومة التوليدية العميقة التلافيفية) (دفتر ملاحظات). بناء شبكة الخصومة التوليدية التلافيفية العميقة (DCGAN) لتوليد الصور من الضوضاء.
4- المرافق
- حفظ واستعادة نموذج (كمبيوتر محمول). حفظ النموذج واستعادته باستخدام TensorFlow 2.0+.
- إنشاء طبقات ووحدات مخصصة (كمبيوتر محمول). تعرف على كيفية إنشاء الطبقات/الوحدات النمطية الخاصة بك ودمجها في نماذج TensorFlow 2.0+.
- Tensorboard (كمبيوتر محمول). تتبع وتصور الرسم البياني والمقاييس والأوزان لحساب الشبكة العصبية والمزيد باستخدام TensorFlow 2.0+ Tensorboard.
5- إدارة البيانات
- تحميل وتحليل البيانات (الكمبيوتر المحمول). قم ببناء خط بيانات فعال باستخدام TensorFlow 2.0 (المصفوفات Numpy، الصور، ملفات CSV، البيانات المخصصة، ...).
- بناء وتحميل TRecords (الكمبيوتر المحمول). تحويل البيانات إلى تنسيق TFRecords، وتحميلها باستخدام TensorFlow 2.0+.
- تحويل الصورة (أي تكبير الصورة) (الكمبيوتر المحمول). قم بتطبيق تقنيات تكبير الصور المختلفة باستخدام TensorFlow 2.0+ لإنشاء صور مشوهة للتدريب.
6- الأجهزة
- تدريب على وحدات معالجة الرسومات المتعددة (كمبيوتر محمول). تدريب شبكة عصبية تلافيفية باستخدام وحدات معالجة رسومات متعددة على مجموعة بيانات CIFAR-10.
تنسور فلو v1
يتوفر الفهرس التعليمي لـ TF v1 هنا: أمثلة TensorFlow v1.15. أو انظر أدناه للحصول على قائمة الأمثلة.
مجموعة البيانات
تتطلب بعض الأمثلة مجموعة بيانات MNIST للتدريب والاختبار. لا تقلق، سيتم تنزيل مجموعة البيانات هذه تلقائيًا عند تشغيل الأمثلة. MNIST هي قاعدة بيانات للأرقام المكتوبة بخط اليد، للحصول على وصف سريع لمجموعة البيانات هذه، يمكنك التحقق من هذا الدفتر.
الموقع الرسمي: http://yann.lecun.com/exdb/mnist/.
تثبيت
لتنزيل جميع الأمثلة، ما عليك سوى استنساخ هذا المستودع:
git clone https://github.com/aymericdamien/TensorFlow-Examples
لتشغيلها، تحتاج أيضًا إلى أحدث إصدار من TensorFlow. لتثبيته:
أو (مع دعم GPU):
pip install tensorflow_gpu
لمزيد من التفاصيل حول تثبيت TensorFlow، يمكنك مراجعة دليل تثبيت TensorFlow
أمثلة TensorFlow v1 - Index
يتوفر الفهرس التعليمي لـ TF v1 هنا: أمثلة TensorFlow v1.15.
0 - شرط أساسي
- مقدمة في التعلم الآلي.
- مقدمة لمجموعة بيانات MNIST.
1- مقدمة
- مرحبا بالعالم (دفتر ملاحظات) (كود). مثال بسيط جدًا لتعلم كيفية طباعة "hello World" باستخدام TensorFlow.
- العمليات الأساسية (دفتر الملاحظات) (الكود). مثال بسيط يغطي عمليات TensorFlow الأساسية.
- أساسيات TensorFlow Eager API (الكمبيوتر المحمول) (الكود). ابدأ باستخدام واجهة برمجة التطبيقات Eager الخاصة بـ TensorFlow.
2- النماذج الأساسية
- الانحدار الخطي (دفتر الملاحظات) (الكود). تنفيذ الانحدار الخطي مع TensorFlow.
- الانحدار الخطي (api حريص) (دفتر ملاحظات) (رمز). تنفيذ الانحدار الخطي باستخدام TensorFlow's Eager API.
- الانحدار اللوجستي (دفتر) (الكود). تنفيذ الانحدار اللوجستي مع TensorFlow.
- الانحدار اللوجستي (api حريص) (دفتر ملاحظات) (رمز). تنفيذ الانحدار اللوجستي باستخدام TensorFlow's Eager API.
- أقرب جار (دفتر) (رمز). تنفيذ خوارزمية أقرب جار باستخدام TensorFlow.
- K-يعني (دفتر) (كود). قم ببناء مصنف K-Means باستخدام TensorFlow.
- غابة عشوائية (دفتر ملاحظات) (كود). قم ببناء مصنف Random Forest باستخدام TensorFlow.
- شجرة القرار المعززة المتدرجة (GBDT) (الكمبيوتر المحمول) (الكود). قم ببناء شجرة قرارات معززة متدرجة (GBDT) باستخدام TensorFlow.
- Word2Vec (تضمين الكلمات) (دفتر ملاحظات) (رمز). أنشئ نموذج تضمين الكلمات (Word2Vec) من بيانات ويكيبيديا باستخدام TensorFlow.
3- الشبكات العصبية
تحت الإشراف
- الشبكة العصبية البسيطة (دفتر ملاحظات) (كود). قم ببناء شبكة عصبية بسيطة (تُعرف أيضًا باسم Multi-layer Perceptron) لتصنيف مجموعة بيانات أرقام MNIST. تنفيذ TensorFlow الخام.
- الشبكة العصبية البسيطة (tf.layers/estimator api) (كمبيوتر محمول) (كود). استخدم واجهة برمجة التطبيقات "الطبقات" و"المقدر" لـ TensorFlow لإنشاء شبكة عصبية بسيطة (تُعرف أيضًا باسم Multi-layer Perceptron) لتصنيف مجموعة بيانات أرقام MNIST.
- شبكة عصبية بسيطة (api حريصة) (كمبيوتر محمول) (كود). استخدم TensorFlow Eager API لإنشاء شبكة عصبية بسيطة (تُعرف أيضًا باسم Multi-layer Perceptron) لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية التلافيفية (دفتر ملاحظات) (كود). بناء شبكة عصبية تلافيفية لتصنيف مجموعة بيانات أرقام MNIST. تنفيذ TensorFlow الخام.
- الشبكة العصبية التلافيفية (tf.layers/estimator api) (دفتر ملاحظات) (كود). استخدم واجهة برمجة التطبيقات "الطبقات" و"المقدر" لـ TensorFlow لإنشاء شبكة عصبية تلافيفية لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية المتكررة (LSTM) (كمبيوتر محمول) (كود). بناء شبكة عصبية متكررة (LSTM) لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية المتكررة ثنائية الاتجاه (LSTM) (كمبيوتر محمول) (كود). بناء شبكة عصبية متكررة ثنائية الاتجاه (LSTM) لتصنيف مجموعة بيانات أرقام MNIST.
- الشبكة العصبية الديناميكية المتكررة (LSTM) (كمبيوتر محمول) (كود). بناء شبكة عصبية متكررة (LSTM) تقوم بإجراء عمليات حسابية ديناميكية لتصنيف تسلسلات ذات أطوال مختلفة.
غير خاضعة للرقابة
- التشفير التلقائي (دفتر الملاحظات) (الكود). قم ببناء جهاز تشفير تلقائي لتشفير الصورة إلى بُعد أقل وإعادة بنائها.
- التشفير التلقائي المتغير (دفتر ملاحظات) (رمز). إنشاء جهاز تشفير تلقائي متغير (VAE)، لتشفير وإنشاء الصور من الضوضاء.
- GAN (شبكات الخصومة التوليدية) (دفتر ملاحظات) (كود). بناء شبكة الخصومة التوليدية (GAN) لتوليد الصور من الضوضاء.
- DCGAN (شبكات الخصومة التوليدية العميقة التلافيفية) (دفتر ملاحظات) (كود). بناء شبكة الخصومة التوليدية التلافيفية العميقة (DCGAN) لتوليد الصور من الضوضاء.
4- المرافق
- حفظ واستعادة نموذج (دفتر ملاحظات) (رمز). حفظ النموذج واستعادته باستخدام TensorFlow.
- Tensorboard - تصور الرسم البياني والخسارة (دفتر ملاحظات) (رمز). استخدم Tensorboard لتصور الرسم البياني الحسابي ورسم الخسارة.
- Tensorboard - تصور متقدم (كمبيوتر محمول) (كود). التعمق في Tensorboard؛ تصور المتغيرات والتدرجات، وأكثر من ذلك...
5- إدارة البيانات
- بناء مجموعة بيانات الصورة (المفكرة) (الكود). أنشئ مجموعة بيانات الصور الخاصة بك باستخدام قوائم انتظار بيانات TensorFlow، من مجلدات الصور أو ملف مجموعة البيانات.
- TensorFlow Dataset API (الكمبيوتر المحمول) (الكود). تقديم TensorFlow Dataset API لتحسين خط أنابيب بيانات الإدخال.
- تحميل وتحليل البيانات (الكمبيوتر المحمول). إنشاء خط بيانات فعال (مصفوفات Numpy، صور، ملفات CSV، بيانات مخصصة، ...).
- بناء وتحميل TRecords (الكمبيوتر المحمول). تحويل البيانات إلى تنسيق TRecords، وتحميلها.
- تحويل الصورة (أي تكبير الصورة) (الكمبيوتر المحمول). تطبيق تقنيات تكبير الصور المختلفة لتوليد صور مشوهة للتدريب.
6- معالج رسوميات متعدد
- العمليات الأساسية على وحدات معالجة الرسومات المتعددة (الكمبيوتر المحمول) (الكود). مثال بسيط لإدخال وحدات معالجة الرسومات المتعددة في TensorFlow.
- تدريب شبكة عصبية على وحدات معالجة رسومية متعددة (كمبيوتر محمول) (كود). تطبيق TensorFlow واضح وبسيط لتدريب شبكة عصبية تلافيفية على وحدات معالجة رسوميات متعددة.
المزيد من الأمثلة
الأمثلة التالية تأتي من TFLearn، وهي مكتبة توفر واجهة مبسطة لـ TensorFlow. يمكنك إلقاء نظرة، هناك العديد من الأمثلة والعمليات والطبقات المعدة مسبقًا.
دروس
- TFLearn Quickstart. تعلم أساسيات TFLearn من خلال مهمة محددة للتعلم الآلي. بناء وتدريب مصنف الشبكة العصبية العميقة.
أمثلة
- أمثلة على TFLearn مجموعة كبيرة من الأمثلة باستخدام TFLearn.