📝 ملخص كورس علم البيانات - 9

هذا الملخص عن مكتبة Keras في بايثون. وهي مكتبة متخصصه في الشبكات العصبية.

الفصل الثاني - التعلم العميق Deep Learning
الدرس الرابع - Keras

أحدى أشهر مكاتب الشبكات العصبية في بايثون هي Keras، وليست وحدها الموجودة، يوجد أيضاً TensorFlow, Caffe, Scikit-learn وغيرها الكثير.
الدرس الخاص بالمكتبة عملي، وسأضع بعض الأكواد لشرح كيفية تكوين وتصميم شبكة عصبية بمكتبة Keras. 1

import numpy as np
from keras.utils import np_utils
import tensorflow as tf
tf.python.control_flow_ops = tf

np.random.seed(42)

#   البيانات (المدخلات) لدينا بالشكل التالي
#   0 | 0
#   0 | 1
#   1 | 0
#   1 | 1
X = np.array([[0,0],[0,1],[1,0],[1,1]]).astype('float32')

#   ونتائج كل سطر من المدخلات مخزن في y
#   0
#   1
#   1
#   0
y = np.array([[0],[1],[1],[0]]).astype('float32')

from keras.models import Sequential
from keras.layers.core import Dense, Activation, Flatten

# One-hot encoding للنتائج
y = np_utils.to_categorical(y)

#   إنشاء المودل
xor = Sequential()
#   إضافة لاير ب32 نود يستقبل 2 كمدخلات
xor.add(Dense(32, input_dim=2))
#   إضافة لير آخر بدالة tanh
xor.add(Activation("tanh"))
#   إضافة لاير جديد بنودين
xor.add(Dense(2))
#   إضافة لير آخر بدالة sigmoid
xor.add(Activation("sigmoid"))
#   نحتاج لجمع وتشغيل المودل قبل إدخال البيانات له
#   loss هي طريقة حساب التناقض بين النتائج المتوقعة والنتائج الحقيقة
#   optimizer او المحسنات، توجد انواع مختلفة وتحتاج لتعريفها
#   metrics طريقة تقيم النتائج
xor.compile(loss="categorical_crossentropy", optimizer="adam", metrics = ['accuracy'])

#   لعرض شكل المودل النهائي
xor.summary()

#   نقوم بتشغيل المودل على البيانات
#   nb_epoch عدد مرات تشغيل المودل على البيانات
#   verbose طريقة عرض النتائج
history = xor.fit(X, y, nb_epoch=1000, verbose=0)

#   تقيم النتائج
score = xor.evaluate(X, y)
print("\nAccuracy: ", score[-1])

#   عرض التوقعات
print("\nPredictions:")
print(xor.predict_proba(X))
  • Sequential 2
  • Dense 3
  • Activation 4
  • nb_epoch 5
  • verbose 6
  • input_shape 7

أمثلية عملية: 1، 2


العودة إلى ملخص كورس علم البيانات - 8 - الإنتقال إلى ملخص كورس علم البيانات - 10

كُتب في 31/03/2019