؟؟ أوكرانيا تتعرض للهجوم من قبل الجيش الروسي. المدنيون يتعرضون للقتل. المناطق السكنية تتعرض للقصف.
- ساعد أوكرانيا عبر:
- مؤسسة سيرهي بريتولا الخيرية
- مؤسسة أعود حيا الخيرية
- البنك الوطني في أوكرانيا
- مزيد من المعلومات على war.ukraine.ua وMFA في أوكرانيا
هذه مجموعة من تجارب التعلم الآلي التفاعلية. تتكون كل تجربة من ️ دفتر Jupyter/Colab (لمعرفة كيف تم تدريب النموذج) و ? الصفحة التجريبية (لرؤية النموذج قيد التنفيذ مباشرة في متصفحك).
قد تكون مهتمًا أيضًا بـ Homemade GPT • JS
️ يحتوي هذا المستودع على تجارب التعلم الآلي وليس أكواد ونماذج جاهزة للإنتاج وقابلة لإعادة الاستخدام ومحسنة ومضبوطة بدقة. إنه بالأحرى صندوق رمل أو ملعب للتعلم وتجربة أساليب التعلم الآلي المختلفة والخوارزميات ومجموعات البيانات. قد لا تعمل النماذج بشكل جيد، وهناك مكان للتركيب الزائد/نقص التجهيز.
تم تدريب معظم النماذج في هذه التجارب باستخدام TensorFlow 2 بدعم Keras.
التعلم الخاضع للإشراف هو عندما يكون لديك متغيرات الإدخال X
ومتغير الإخراج Y
وتستخدم خوارزمية لتعلم وظيفة التعيين من الإدخال إلى الإخراج: Y = f(X)
. الهدف هو تقريب وظيفة التعيين بشكل جيد بحيث يمكنك التنبؤ بمتغيرات الإخراج Y
لتلك البيانات عندما يكون لديك بيانات إدخال جديدة X
يطلق عليه التعلم الخاضع للإشراف لأنه يمكن اعتبار عملية تعلم الخوارزمية من مجموعة بيانات التدريب بمثابة معلم يشرف على عملية التعلم.
الإدراك الحسي متعدد الطبقات (MLP) هو فئة من الشبكات العصبية الاصطناعية المغذية (ANN). يُشار أحيانًا إلى الإدراك الحسي متعدد الطبقات بالشبكات العصبية "الفانيليا" (المكونة من طبقات متعددة من الإدراك الحسي)، خاصة عندما تحتوي على طبقة مخفية واحدة. يمكنه التمييز بين البيانات غير القابلة للفصل خطيًا.
تجربة | نموذج العرض والتدريب | العلامات | مجموعة البيانات | |
---|---|---|---|---|
التعرف على الأرقام المكتوبة بخط اليد (MLP) | MLP | منيست | ||
التعرف على الرسومات المكتوبة بخط اليد (MLP) | MLP | رسم سريع |
الشبكة العصبية التلافيفية (CNN أو ConvNet) هي فئة من الشبكات العصبية العميقة، يتم تطبيقها بشكل شائع لتحليل الصور المرئية (الصور ومقاطع الفيديو). يتم استخدامها لاكتشاف وتصنيف الكائنات على الصور ومقاطع الفيديو، ونقل النمط، والتعرف على الوجوه، وتقدير الوضع وما إلى ذلك.
تجربة | نموذج العرض والتدريب | العلامات | مجموعة البيانات | |
---|---|---|---|---|
التعرف على الأرقام المكتوبة بخط اليد (CNN) | CNN | منيست | ||
التعرف على الرسومات المكتوبة بخط اليد (CNN) | CNN | رسم سريع | ||
مقص ورق الصخرة (سي إن إن) | CNN | آر بي إس | ||
مقص ورق الصخرة (MobilenetV2) | MobileNetV2 ، Transfer learning ، CNN | آر بي إس، إيماج نت | ||
كشف الكائنات (MobileNetV2) | MobileNetV2 ، SSDLite ، CNN | كوكو | ||
تصنيف الصور (MobileNetV2) | MobileNetV2 ، CNN | إيماج نت |
الشبكة العصبية المتكررة (RNN) هي فئة من الشبكات العصبية العميقة، يتم تطبيقها بشكل شائع على البيانات المستندة إلى التسلسل مثل الكلام أو الصوت أو النص أو الموسيقى. يتم استخدامها للترجمة الآلية والتعرف على الكلام والتوليف الصوتي وما إلى ذلك.
تجربة | نموذج العرض والتدريب | العلامات | مجموعة البيانات | |
---|---|---|---|---|
جمع الأرقام (RNN) | LSTM ، Sequence-to-sequence | تم إنشاؤها تلقائيًا | ||
توليد نص شكسبير (RNN) | LSTM ، Character-based RNN | شكسبير | ||
إنشاء نص ويكيبيديا (RNN) | LSTM ، Character-based RNN | ويكيبيديا | ||
توليد الوصفة (RNN) | LSTM ، Character-based RNN | علبة الوصفة |
التعلم غير الخاضع للرقابة هو عندما يكون لديك فقط بيانات الإدخال X
ولا توجد متغيرات الإخراج المقابلة. الهدف من التعلم غير الخاضع للرقابة هو نمذجة البنية الأساسية أو التوزيع في البيانات من أجل معرفة المزيد عن البيانات. وتسمى هذه بالتعلم غير الخاضع للإشراف لأنه على عكس التعلم الخاضع للإشراف أعلاه لا توجد إجابات صحيحة ولا يوجد معلم. يتم ترك الخوارزميات بمفردها لاكتشاف وتقديم البنية المثيرة للاهتمام في البيانات.
شبكة الخصومة التوليدية (GAN) هي فئة من أطر التعلم الآلي حيث تتنافس شبكتان عصبيتان مع بعضهما البعض في اللعبة. يتم تدريب نموذجين في وقت واحد من خلال عملية عدائية. على سبيل المثال، يتعلم المولد ("الفنان") إنشاء صور تبدو حقيقية، بينما يتعلم التمييز ("الناقد الفني") التمييز بين الصور الحقيقية وبعيدًا عن الصور المزيفة.
تجربة | نموذج العرض والتدريب | العلامات | مجموعة البيانات | |
---|---|---|---|---|
توليد الملابس (DCGAN) | DCGAN | أزياء منيست |
# Create "experiments" environment (from the project root folder).
python3 -m venv .virtualenvs/experiments
# Activate environment.
source .virtualenvs/experiments/bin/activate
# or if you use Fish...
source .virtualenvs/experiments/bin/activate.fish
للخروج من بيئة التشغيل، deactivate
.
# Upgrade pip and setuptools to the latest versions.
pip install --upgrade pip setuptools
# Install packages
pip install -r requirements.txt
لتثبيت حزم جديدة، قم بتشغيل pip install package-name
. لإضافة حزم جديدة إلى المتطلبات، قم بتشغيل pip freeze > requirements.txt
.txt.
من أجل تجربة استخدام دفاتر ملاحظات Jupyter ومعرفة كيفية تدريب النماذج، يتعين عليك تشغيل خادم Jupyter Notebook.
# Launch Jupyter server.
jupyter notebook
سيكون Jupyter متاحًا محليًا على http://localhost:8888/
. يمكن العثور على دفاتر الملاحظات التي تحتوي على التجارب في مجلد experiments
.
يتم إنشاء التطبيق التجريبي على React عن طريق تطبيق create-react-app.
# Switch to demos folder from project root.
cd demos
# Install all dependencies.
yarn install
# Start demo server on http.
yarn start
# Or start demo server on https (for camera access in browser to work on localhost).
yarn start-https
ستكون العروض التوضيحية متاحة محليًا على http://localhost:3000/
أو على https://localhost:3000/
.
يتم استخدام بيئة converter
لتحويل النماذج التي تم تدريبها أثناء التجارب من تنسيق .h5
Keras إلى تنسيقات Javascript المفهومة (تنسيقات tfjs_layers_model
أو tfjs_graph_model
مع ملفات .json
و .bin
) لمزيد من الاستخدام مع TensorFlow.js في التطبيق التجريبي.
# Create "converter" environment (from the project root folder).
python3 -m venv .virtualenvs/converter
# Activate "converter" environment.
source .virtualenvs/converter/bin/activate
# or if you use Fish...
source .virtualenvs/converter/bin/activate.fish
# Install converter requirements.
pip install -r requirements.converter.txt
يتم تحويل نماذج keras
إلى تنسيقات tfjs_layers_model
/ tfjs_graph_model
بواسطة tfjs-converter:
على سبيل المثال:
tensorflowjs_converter --input_format keras
./experiments/digits_recognition_mlp/digits_recognition_mlp.h5
./demos/public/models/digits_recognition_mlp
️ قد لا يكون تحويل النماذج إلى تنسيقات JS مفهومة وتحميلها إلى المتصفح مباشرة ممارسة جيدة لأنه في هذه الحالة قد يحتاج المستخدم إلى تحميل عشرات أو مئات الميجابايت من البيانات إلى المتصفح وهو أمر غير فعال. عادةً ما يتم تقديم النموذج من الواجهة الخلفية (أي TensorFlow Extended) وبدلاً من تحميله بالكامل إلى المتصفح، سيقوم المستخدم بإجراء طلب HTTP خفيف الوزن للقيام بالتنبؤ. ولكن نظرًا لأن التطبيق التجريبي هو مجرد تجربة وليس تطبيقًا جاهزًا للإنتاج ومن أجل البساطة (لتجنب وجود واجهة خلفية قيد التشغيل) فإننا نقوم بتحويل النماذج إلى تنسيقات JS مفهومة وتحميلها مباشرة إلى browser.
الإصدارات الموصى بها:
> 3.7.3
.>= 12.4.0
.>= 1.13.0
. في حالة إذا كان لديك إصدار Python 3.7.3
فقد تواجه RuntimeError: dictionary changed size during iteration
عند محاولة import tensorflow
(راجع المشكلة).